replaced the dialog with a window

This commit is contained in:
DYefremov
2018-08-05 00:54:30 +03:00
parent 9c32d24a20
commit ea9ea98e1a
2 changed files with 213 additions and 223 deletions

View File

@@ -273,6 +273,7 @@ Author: Dmitriy Yefremov
</object>
<packing>
<property name="submenu">main</property>
<property name="position">1</property>
</packing>
</child>
</object>
@@ -433,41 +434,13 @@ Author: Dmitriy Yefremov
</object>
</child>
</object>
<object class="GtkTreeStore" id="satellites_tree_store">
<columns>
<!-- column-name satelitte -->
<column type="gchararray"/>
<!-- column-name freq -->
<column type="gchararray"/>
<!-- column-name rate -->
<column type="gchararray"/>
<!-- column-name pol -->
<column type="gchararray"/>
<!-- column-name fec -->
<column type="gchararray"/>
<!-- column-name system -->
<column type="gchararray"/>
<!-- column-name mod -->
<column type="gchararray"/>
<!-- column-name pls_mode -->
<column type="gchararray"/>
<!-- column-name pls_code -->
<column type="gchararray"/>
<!-- column-name is_id -->
<column type="gchararray"/>
<!-- column-name flags -->
<column type="gchararray"/>
<!-- column-name pos -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkDialog" id="satellites_editor_dialog">
<property name="width_request">640</property>
<object class="GtkWindow" id="satellites_editor_window">
<property name="can_focus">False</property>
<property name="modal">True</property>
<property name="window_position">center-on-parent</property>
<property name="destroy_with_parent">True</property>
<property name="icon_name">applications-utilities</property>
<property name="type_hint">dialog</property>
<property name="gravity">center</property>
<signal name="check-resize" handler="on_resize" swapped="no"/>
<child type="titlebar">
<object class="GtkHeaderBar" id="satellites_editor_header">
@@ -635,215 +608,227 @@ Author: Dmitriy Yefremov
</child>
</object>
</child>
<child internal-child="vbox">
<object class="GtkBox" id="dialog_vbox">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog_action_area">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow">
<property name="width_request">480</property>
<property name="height_request">250</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="margin_left">1</property>
<property name="margin_right">1</property>
<property name="margin_top">1</property>
<property name="margin_bottom">1</property>
<property name="shadow_type">in</property>
<property name="min_content_width">320</property>
<property name="min_content_height">240</property>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow">
<object class="GtkTreeView" id="satellites_editor_tree_view">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="margin_top">2</property>
<property name="shadow_type">in</property>
<property name="model">satellites_tree_store</property>
<property name="search_column">0</property>
<property name="rubber_banding">True</property>
<property name="enable_tree_lines">True</property>
<signal name="button-press-event" handler="on_popup_menu" object="popup_menu" swapped="no"/>
<signal name="key-release-event" handler="on_key_release" swapped="no"/>
<signal name="row-activated" handler="on_row_activated" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection">
<property name="mode">multiple</property>
</object>
</child>
<child>
<object class="GtkTreeView" id="satellites_editor_tree_view">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="model">satellites_tree_store</property>
<property name="search_column">0</property>
<property name="rubber_banding">True</property>
<property name="enable_tree_lines">True</property>
<signal name="button-press-event" handler="on_popup_menu" object="popup_menu" swapped="no"/>
<signal name="key-release-event" handler="on_key_release" swapped="no"/>
<signal name="row-activated" handler="on_row_activated" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection" id="tree_view_selection">
<property name="mode">multiple</property>
</object>
</child>
<object class="GtkTreeViewColumn" id="satellite_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">Satellite</property>
<property name="expand">True</property>
<child>
<object class="GtkTreeViewColumn" id="satellite_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">Satellite</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="satellite_cellrenderertext"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
<object class="GtkCellRendererText" id="satellite_cellrenderertext"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="freq_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">Freq</property>
<property name="expand">True</property>
<child>
<object class="GtkTreeViewColumn" id="freq_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">Freq</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="frequency_cellrenderertext"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
<object class="GtkCellRendererText" id="frequency_cellrenderertext"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="rate_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">Rate</property>
<property name="expand">True</property>
<child>
<object class="GtkTreeViewColumn" id="rate_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">Rate</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="sat_rate_cellrenderertext"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
<object class="GtkCellRendererText" id="sat_rate_cellrenderertext"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="pol_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">Pol</property>
<property name="expand">True</property>
<child>
<object class="GtkTreeViewColumn" id="pol_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">Pol</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="sat_pol_cellrenderertext"/>
<attributes>
<attribute name="text">3</attribute>
</attributes>
</child>
</object>
<object class="GtkCellRendererText" id="sat_pol_cellrenderertext"/>
<attributes>
<attribute name="text">3</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="fec_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">FEC</property>
<property name="expand">True</property>
<child>
<object class="GtkTreeViewColumn" id="fec_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">FEC</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="set_fec_cellrenderertext"/>
<attributes>
<attribute name="text">4</attribute>
</attributes>
</child>
</object>
<object class="GtkCellRendererText" id="set_fec_cellrenderertext"/>
<attributes>
<attribute name="text">4</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="sys_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">System</property>
<property name="expand">True</property>
<child>
<object class="GtkTreeViewColumn" id="sys_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">System</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="sys_cellrenderertext"/>
<attributes>
<attribute name="text">5</attribute>
</attributes>
</child>
</object>
<object class="GtkCellRendererText" id="sys_cellrenderertext"/>
<attributes>
<attribute name="text">5</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="mod_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">Mod</property>
<property name="expand">True</property>
<child>
<object class="GtkTreeViewColumn" id="mod_column">
<property name="resizable">True</property>
<property name="title" translatable="yes">Mod</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="mod_cellrenderertext"/>
<attributes>
<attribute name="text">6</attribute>
</attributes>
</child>
</object>
<object class="GtkCellRendererText" id="mod_cellrenderertext"/>
<attributes>
<attribute name="text">6</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="pls_mode_column">
<property name="visible">False</property>
<property name="resizable">True</property>
<property name="title" translatable="yes">Pls mode</property>
<property name="expand">True</property>
<child>
<object class="GtkTreeViewColumn" id="pls_mode_column">
<property name="visible">False</property>
<property name="resizable">True</property>
<property name="title" translatable="yes">Pls mode</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="pls_mode_cellrenderertext"/>
<attributes>
<attribute name="text">7</attribute>
</attributes>
</child>
</object>
<object class="GtkCellRendererText" id="pls_mode_cellrenderertext"/>
<attributes>
<attribute name="text">7</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="pls_code_column">
<property name="visible">False</property>
<property name="resizable">True</property>
<property name="title" translatable="yes">Pls code</property>
<property name="expand">True</property>
<child>
<object class="GtkTreeViewColumn" id="pls_code_column">
<property name="visible">False</property>
<property name="resizable">True</property>
<property name="title" translatable="yes">Pls code</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="pls_code_cellrenderertext"/>
<attributes>
<attribute name="text">8</attribute>
</attributes>
</child>
</object>
<object class="GtkCellRendererText" id="pls_code_cellrenderertext"/>
<attributes>
<attribute name="text">8</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="is_id_column">
<property name="visible">False</property>
<property name="resizable">True</property>
<property name="title" translatable="yes">Is ID</property>
<property name="expand">True</property>
<child>
<object class="GtkTreeViewColumn" id="is_id_column">
<property name="visible">False</property>
<property name="resizable">True</property>
<property name="title" translatable="yes">Is ID</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="is_id_cellrenderertext"/>
<attributes>
<attribute name="text">9</attribute>
</attributes>
</child>
</object>
<object class="GtkCellRendererText" id="is_id_cellrenderertext"/>
<attributes>
<attribute name="text">9</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="flags_column">
<property name="visible">False</property>
<property name="resizable">True</property>
<property name="title" translatable="yes">Flags</property>
<child>
<object class="GtkTreeViewColumn" id="flags_column">
<property name="visible">False</property>
<property name="resizable">True</property>
<property name="title" translatable="yes">Flags</property>
<child>
<object class="GtkCellRendererText" id="flags_cellrenderertext"/>
<attributes>
<attribute name="text">10</attribute>
</attributes>
</child>
</object>
<object class="GtkCellRendererText" id="flags_cellrenderertext"/>
<attributes>
<attribute name="text">10</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="pos_column">
<property name="visible">False</property>
<property name="resizable">True</property>
<property name="title" translatable="yes">Pos:</property>
<child>
<object class="GtkTreeViewColumn" id="pos_column">
<property name="visible">False</property>
<property name="resizable">True</property>
<property name="title" translatable="yes">Pos:</property>
<child>
<object class="GtkCellRendererText" id="pos_cellrenderertext"/>
<attributes>
<attribute name="text">11</attribute>
</attributes>
</child>
</object>
<object class="GtkCellRendererText" id="pos_cellrenderertext"/>
<attributes>
<attribute name="text">11</attribute>
</attributes>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">-1</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkTreeStore" id="satellites_tree_store">
<columns>
<!-- column-name satelitte -->
<column type="gchararray"/>
<!-- column-name freq -->
<column type="gchararray"/>
<!-- column-name rate -->
<column type="gchararray"/>
<!-- column-name pol -->
<column type="gchararray"/>
<!-- column-name fec -->
<column type="gchararray"/>
<!-- column-name system -->
<column type="gchararray"/>
<!-- column-name mod -->
<column type="gchararray"/>
<!-- column-name pls_mode -->
<column type="gchararray"/>
<!-- column-name pls_code -->
<column type="gchararray"/>
<!-- column-name is_id -->
<column type="gchararray"/>
<!-- column-name flags -->
<column type="gchararray"/>
<!-- column-name pos -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="side_store">
<columns>
<!-- column-name side -->
@@ -861,7 +846,11 @@ Author: Dmitriy Yefremov
<object class="GtkDialog" id="satellite_dialog">
<property name="can_focus">False</property>
<property name="title" translatable="yes">Satellite</property>
<property name="modal">True</property>
<property name="destroy_with_parent">True</property>
<property name="type_hint">dialog</property>
<property name="skip_taskbar_hint">True</property>
<property name="skip_pager_hint">True</property>
<child>
<placeholder/>
</child>
@@ -1074,6 +1063,8 @@ Author: Dmitriy Yefremov
<property name="default_width">320</property>
<property name="destroy_with_parent">True</property>
<property name="type_hint">dialog</property>
<property name="skip_taskbar_hint">True</property>
<property name="skip_pager_hint">True</property>
<child>
<placeholder/>
</child>

View File

@@ -43,19 +43,19 @@ class SatellitesDialog:
builder = Gtk.Builder()
builder.set_translation_domain(TEXT_DOMAIN)
builder.add_objects_from_file(UI_RESOURCES_PATH + "satellites_dialog.glade",
("satellites_editor_dialog", "satellites_tree_store", "popup_menu",
("satellites_editor_window", "satellites_tree_store", "popup_menu",
"left_header_menu", "add_header_popover_menu"))
builder.connect_signals(handlers)
self._dialog = builder.get_object("satellites_editor_dialog")
self._dialog.set_transient_for(transient)
self._window = builder.get_object("satellites_editor_window")
self._window.set_transient_for(transient)
# self._dialog.get_content_area().set_border_width(0) # The width of the border around the app dialog area!
self._sat_view = builder.get_object("satellites_editor_tree_view")
self._wait_dialog = WaitDialog(self._dialog)
self._wait_dialog = WaitDialog(self._window)
# Setting the last size of the dialog window if it was saved
window_size = self._options.get("sat_editor_window_size", None)
if window_size:
self._dialog.resize(*window_size)
self._window.resize(*window_size)
self._stores = {3: builder.get_object("pol_store"),
4: builder.get_object("fec_store"),
@@ -64,8 +64,7 @@ class SatellitesDialog:
self.on_satellites_list_load(self._sat_view.get_model())
def show(self):
self._dialog.run()
self._dialog.destroy()
self._window.show()
def on_resize(self, window):
""" Stores new size properties for dialog window after resize """
@@ -74,7 +73,7 @@ class SatellitesDialog:
@run_idle
def on_quit(self, *args):
self._dialog.destroy()
self._window.destroy()
@run_idle
def on_open(self, model):
@@ -83,7 +82,7 @@ class SatellitesDialog:
return
if not str(response).endswith("satellites.xml"):
show_dialog(DialogType.ERROR, self._dialog, text="No satellites.xml file is selected!")
show_dialog(DialogType.ERROR, self._window, text="No satellites.xml file is selected!")
return
self._data_path = response
self.on_satellites_list_load(model)
@@ -93,7 +92,7 @@ class SatellitesDialog:
file_filter.add_pattern("satellites.xml")
file_filter.set_name("satellites.xml")
response = show_dialog(dialog_type=DialogType.CHOOSER,
transient=self._dialog,
transient=self._window,
options=self._options,
action_type=action,
file_filter=file_filter)
@@ -144,7 +143,7 @@ class SatellitesDialog:
self._wait_dialog.show()
satellites = get_satellites(self._data_path)
except FileNotFoundError as e:
show_dialog(DialogType.ERROR, self._dialog, getattr(e, "message", str(e)) +
show_dialog(DialogType.ERROR, self._window, getattr(e, "message", str(e)) +
"\n\nPlease, download files from receiver or setup your path for read data!")
else:
model.clear()
@@ -184,7 +183,7 @@ class SatellitesDialog:
def on_satellite(self, satellite=None, edited_itr=None):
""" Create or edit satellite"""
sat_dialog = SatelliteDialog(self._dialog, satellite)
sat_dialog = SatelliteDialog(self._window, satellite)
sat = sat_dialog.run()
sat_dialog.destroy()
@@ -205,10 +204,10 @@ class SatellitesDialog:
if paths is None:
return
elif len(paths) == 0:
show_dialog(DialogType.ERROR, self._dialog, "No satellite is selected!")
show_dialog(DialogType.ERROR, self._window, "No satellite is selected!")
return
dialog = TransponderDialog(self._dialog, transponder)
dialog = TransponderDialog(self._window, transponder)
tr = dialog.run()
dialog.destroy()
@@ -259,7 +258,7 @@ class SatellitesDialog:
"""
model, paths = view.get_selection().get_selected_rows()
if len(paths) > 1:
show_dialog(DialogType.ERROR, self._dialog, message)
show_dialog(DialogType.ERROR, self._window, message)
return
return paths
@@ -274,7 +273,7 @@ class SatellitesDialog:
@run_idle
def on_save(self, view):
if show_dialog(DialogType.QUESTION, self._dialog) == Gtk.ResponseType.CANCEL:
if show_dialog(DialogType.QUESTION, self._window) == Gtk.ResponseType.CANCEL:
return
model = view.get_model()
@@ -286,11 +285,11 @@ class SatellitesDialog:
response = self.get_file_dialog_response(Gtk.FileChooserAction.SAVE)
if response == Gtk.ResponseType.CANCEL:
return
show_dialog(DialogType.ERROR, transient=self._dialog, text="Not implemented yet!")
show_dialog(DialogType.ERROR, transient=self._window, text="Not implemented yet!")
@run_idle
def on_update(self, item):
dialog = SatellitesUpdateDialog(self._dialog, self._sat_view.get_model())
dialog = SatellitesUpdateDialog(self._window, self._sat_view.get_model())
dialog.run()
dialog.destroy()