* src/plugins/Checkpoint.py (Checkpoint.init_gui): Detect whether

rcs program is present and modify UI accordingly.
	* src/plugins/checkpoint.glade: Add hidden warning label.


svn: r7049
This commit is contained in:
Alex Roitman 2006-07-20 04:25:44 +00:00
parent e3c6406cea
commit 334e331030
3 changed files with 136 additions and 65 deletions

View File

@ -1,4 +1,7 @@
2006-07-19 Alex Roitman <shura@gramps-project.org> 2006-07-19 Alex Roitman <shura@gramps-project.org>
* src/plugins/Checkpoint.py (Checkpoint.init_gui): Detect whether
rcs program is present and modify UI accordingly.
* src/plugins/checkpoint.glade: Add hidden warning label.
* src/plugins/StatisticsChart.py * src/plugins/StatisticsChart.py
(StatisticsChartOptions.get_report_filters): Add custom filters. (StatisticsChartOptions.get_report_filters): Add custom filters.
* src/plugins/Calendar.py (FilterWidget.get_filters): Add custom * src/plugins/Calendar.py (FilterWidget.get_filters): Add custom

View File

@ -59,6 +59,10 @@ from PluginUtils import Tool, register_tool
# Constants # Constants
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
if os.sys.platform == "win32":
_rcs_found = os.system("rcs -V >nul 2>nul") == 0
else:
_rcs_found = os.system("dot -V >/dev/null 2>/dev/null") == 0
# Some message strings # Some message strings
rcs_setup_failure_msg = [ rcs_setup_failure_msg = [
@ -148,6 +152,12 @@ class Checkpoint(Tool.Tool, ManagedWindow.ManagedWindow):
self.rcs_rb.connect('toggled',self.rcs_toggled) self.rcs_rb.connect('toggled',self.rcs_toggled)
# Disable RCS if the rcs binary is not available
# and show the normally hidden warning
if not _rcs_found:
self.rcs_rb.set_sensitive(False)
self.glade.get_widget('warning_label').show()
self.title = _("Checkpoint Data") self.title = _("Checkpoint Data")
window = self.glade.get_widget('top') window = self.glade.get_widget('top')
self.set_window(window,self.glade.get_widget('title'),self.title) self.set_window(window,self.glade.get_widget('title'),self.title)

View File

@ -16,6 +16,8 @@
<property name="skip_pager_hint">False</property> <property name="skip_pager_hint">False</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="focus_on_map">True</property>
<property name="urgency_hint">False</property>
<property name="has_separator">True</property> <property name="has_separator">True</property>
<signal name="delete_event" handler="on_delete_event" last_modification_time="Tue, 27 Sep 2005 00:48:43 GMT"/> <signal name="delete_event" handler="on_delete_event" last_modification_time="Tue, 27 Sep 2005 00:48:43 GMT"/>
@ -116,6 +118,10 @@
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -188,6 +194,10 @@
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -230,6 +240,10 @@
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">10</property> <property name="ypad">10</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -251,6 +265,10 @@
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">12</property> <property name="xpad">12</property>
<property name="ypad">12</property> <property name="ypad">12</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -263,14 +281,14 @@
<widget class="GtkTable" id="table3"> <widget class="GtkTable" id="table3">
<property name="border_width">12</property> <property name="border_width">12</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="n_rows">5</property> <property name="n_rows">6</property>
<property name="n_columns">4</property> <property name="n_columns">4</property>
<property name="homogeneous">False</property> <property name="homogeneous">False</property>
<property name="row_spacing">6</property> <property name="row_spacing">6</property>
<property name="column_spacing">12</property> <property name="column_spacing">12</property>
<child> <child>
<widget class="GtkLabel" id="label5"> <widget class="GtkLabel" id="main_label">
<property name="visible">True</property> <property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Revision control system&lt;/b&gt;</property> <property name="label" translatable="yes">&lt;b&gt;Revision control system&lt;/b&gt;</property>
<property name="use_underline">False</property> <property name="use_underline">False</property>
@ -282,6 +300,10 @@
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">0</property> <property name="left_attach">0</property>
@ -316,28 +338,75 @@
</child> </child>
<child> <child>
<widget class="GtkRadioButton" id="custom"> <widget class="GtkLabel" id="label15">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="label" translatable="yes">Retrieval:</property>
<property name="label" translatable="yes">C_ustom commands</property> <property name="use_underline">False</property>
<property name="use_underline">True</property> <property name="use_markup">False</property>
<property name="relief">GTK_RELIEF_NORMAL</property> <property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="focus_on_click">True</property> <property name="wrap">False</property>
<property name="active">False</property> <property name="selectable">False</property>
<property name="inconsistent">False</property> <property name="xalign">0</property>
<property name="draw_indicator">True</property> <property name="yalign">0.5</property>
<property name="group">rcs</property> <property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">2</property>
<property name="right_attach">4</property> <property name="right_attach">3</property>
<property name="top_attach">2</property> <property name="top_attach">5</property>
<property name="bottom_attach">3</property> <property name="bottom_attach">6</property>
<property name="x_options">fill</property> <property name="x_options">fill</property>
<property name="y_options"></property> <property name="y_options"></property>
</packing> </packing>
</child> </child>
<child>
<widget class="GtkEntry" id="cust_ret">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
<property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char">*</property>
<property name="activates_default">False</property>
</widget>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">5</property>
<property name="bottom_attach">6</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkEntry" id="cust_arch">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
<property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char">*</property>
<property name="activates_default">False</property>
</widget>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="y_options"></property>
</packing>
</child>
<child> <child>
<widget class="GtkLabel" id="label14"> <widget class="GtkLabel" id="label14">
<property name="visible">True</property> <property name="visible">True</property>
@ -351,10 +420,37 @@
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">2</property> <property name="left_attach">2</property>
<property name="right_attach">3</property> <property name="right_attach">3</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="custom">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">C_ustom commands</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<property name="group">rcs</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">4</property>
<property name="top_attach">3</property> <property name="top_attach">3</property>
<property name="bottom_attach">4</property> <property name="bottom_attach">4</property>
<property name="x_options">fill</property> <property name="x_options">fill</property>
@ -363,11 +459,11 @@
</child> </child>
<child> <child>
<widget class="GtkLabel" id="label15"> <widget class="GtkLabel" id="warning_label">
<property name="visible">True</property> <property name="label" translatable="yes">&lt;b&gt;&lt;i&gt;Please install the rcs package
<property name="label" translatable="yes">Retrieval:</property> to enable the default functionality.&lt;/i&gt;&lt;/b&gt;</property>
<property name="use_underline">False</property> <property name="use_underline">False</property>
<property name="use_markup">False</property> <property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property> <property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property> <property name="wrap">False</property>
<property name="selectable">False</property> <property name="selectable">False</property>
@ -375,58 +471,20 @@
<property name="yalign">0.5</property> <property name="yalign">0.5</property>
<property name="xpad">0</property> <property name="xpad">0</property>
<property name="ypad">0</property> <property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget> </widget>
<packing> <packing>
<property name="left_attach">2</property> <property name="left_attach">2</property>
<property name="right_attach">3</property> <property name="right_attach">4</property>
<property name="top_attach">4</property> <property name="top_attach">2</property>
<property name="bottom_attach">5</property> <property name="bottom_attach">3</property>
<property name="x_options">fill</property> <property name="x_options">fill</property>
<property name="y_options"></property> <property name="y_options"></property>
</packing> </packing>
</child> </child>
<child>
<widget class="GtkEntry" id="cust_arch">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
<property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">False</property>
</widget>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkEntry" id="cust_ret">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
<property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">False</property>
</widget>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="top_attach">4</property>
<property name="bottom_attach">5</property>
<property name="y_options"></property>
</packing>
</child>
</widget> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>