mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-01-27 01:40:07 +01:00
added switching position of fav list on the fly
This commit is contained in:
@@ -320,46 +320,59 @@ class Application(Gtk.Application):
|
||||
style_provider.load_from_path(UI_RESOURCES_PATH + "style.css")
|
||||
self._status_bar_box.get_style_context().add_provider_for_screen(Gdk.Screen.get_default(), style_provider,
|
||||
Gtk.STYLE_PROVIDER_PRIORITY_USER)
|
||||
self.init_layout(builder)
|
||||
# Layout
|
||||
if self._settings.is_darwin and self._settings.alternate_layout:
|
||||
self._main_paned = builder.get_object("main_data_paned")
|
||||
self._fav_paned = builder.get_object("fav_bouquets_paned")
|
||||
self._fav_box = self._fav_paned.get_child1()
|
||||
self._bouquets_box = self._fav_paned.get_child2()
|
||||
self._left_ar_bq_button = builder.get_object("left_arrow_bq_button")
|
||||
self._left_ar_bq_button.bind_property("visible", builder.get_object("right_arrow_bq_button"), "visible", 4)
|
||||
self._left_ar_bq_button.set_visible(True)
|
||||
self.init_layout(builder)
|
||||
|
||||
def init_layout(self, builder):
|
||||
""" Initializes an alternate layout, if enabled. """
|
||||
if self._settings.is_darwin and self._settings.alternate_layout:
|
||||
top_box = builder.get_object("top_box")
|
||||
top_toolbar = builder.get_object("top_toolbar")
|
||||
top_toolbar.set_margin_left(0)
|
||||
top_toolbar.set_margin_right(10)
|
||||
top_box = builder.get_object("top_box")
|
||||
top_toolbar = builder.get_object("top_toolbar")
|
||||
top_toolbar.set_margin_left(0)
|
||||
top_toolbar.set_margin_right(10)
|
||||
|
||||
extra_box = builder.get_object("toolbar_extra_tools_box")
|
||||
extra_box.set_margin_left(10)
|
||||
extra_box.set_margin_right(0)
|
||||
extra_box.reorder_child(self._ftp_button, 0)
|
||||
extra_box.reorder_child(builder.get_object("add_bouquet_tool_button"), 2)
|
||||
extra_box = builder.get_object("toolbar_extra_tools_box")
|
||||
extra_box.set_margin_left(10)
|
||||
extra_box.set_margin_right(0)
|
||||
extra_box.reorder_child(self._ftp_button, 0)
|
||||
extra_box.reorder_child(builder.get_object("add_bouquet_tool_button"), 2)
|
||||
|
||||
top_box.set_child_packing(extra_box, False, True, 0, Gtk.PackType.START)
|
||||
top_box.set_child_packing(top_toolbar, False, True, 0, Gtk.PackType.END)
|
||||
top_box.reorder_child(extra_box, 0)
|
||||
top_box.reorder_child(top_toolbar, 1)
|
||||
top_box.set_child_packing(extra_box, False, True, 0, Gtk.PackType.START)
|
||||
top_box.set_child_packing(top_toolbar, False, True, 0, Gtk.PackType.END)
|
||||
top_box.reorder_child(extra_box, 0)
|
||||
top_box.reorder_child(top_toolbar, 1)
|
||||
|
||||
center_box = builder.get_object("center_box")
|
||||
center_box.reorder_child(self._ftp_revealer, 0)
|
||||
center_box.reorder_child(self._control_revealer, 1)
|
||||
center_box.reorder_child(builder.get_object("main_box"), 2)
|
||||
center_box = builder.get_object("center_box")
|
||||
center_box.reorder_child(self._ftp_revealer, 0)
|
||||
center_box.reorder_child(self._control_revealer, 1)
|
||||
center_box.reorder_child(builder.get_object("main_box"), 2)
|
||||
|
||||
main_paned = builder.get_object("main_data_paned")
|
||||
services_box = main_paned.get_child1()
|
||||
fav_paned = main_paned.get_child2()
|
||||
main_paned.remove(services_box)
|
||||
services_box = self._main_paned.get_child1()
|
||||
self._main_paned.remove(services_box)
|
||||
self._main_paned.remove(self._fav_paned)
|
||||
self._main_paned.pack1(self._fav_paned, True, True)
|
||||
self._main_paned.pack2(services_box, True, True)
|
||||
|
||||
if not self._settings.bq_details_first:
|
||||
bouquets_box = fav_paned.get_child2()
|
||||
fav_paned.remove(bouquets_box)
|
||||
fav_paned.pack2(services_box, True, False)
|
||||
main_paned.pack1(bouquets_box, True, False)
|
||||
else:
|
||||
main_paned.remove(fav_paned)
|
||||
main_paned.pack1(fav_paned, True, True)
|
||||
main_paned.pack2(services_box)
|
||||
self._left_ar_bq_button.set_visible(not self._settings.bq_details_first)
|
||||
self.init_bq_position()
|
||||
|
||||
def init_bq_position(self):
|
||||
self._fav_paned.remove(self._fav_box)
|
||||
self._fav_paned.remove(self._bouquets_box)
|
||||
|
||||
if self._settings.bq_details_first:
|
||||
self._fav_paned.pack1(self._fav_box, False, False)
|
||||
self._fav_paned.pack2(self._bouquets_box, False, False)
|
||||
else:
|
||||
self._fav_paned.pack1(self._bouquets_box, False, False)
|
||||
self._fav_paned.pack2(self._fav_box, False, False)
|
||||
|
||||
def do_startup(self):
|
||||
Gtk.Application.do_startup(self)
|
||||
@@ -445,6 +458,8 @@ class Application(Gtk.Application):
|
||||
remote_action = Gio.SimpleAction.new_stateful("on_remote", None, GLib.Variant.new_boolean(False))
|
||||
remote_action.connect("change-state", self.on_control)
|
||||
self.add_action(remote_action)
|
||||
# Layout
|
||||
self.set_action("on_switch_fav_position", self.on_switch_fav_position)
|
||||
|
||||
def set_action(self, name, fun, enabled=True):
|
||||
ac = Gio.SimpleAction.new(name, None)
|
||||
@@ -643,6 +658,12 @@ class Application(Gtk.Application):
|
||||
return
|
||||
move_items(key, self._fav_view if self._fav_view.is_focus() else self._bouquets_view)
|
||||
|
||||
def on_switch_fav_position(self, action, value=None):
|
||||
visible = self._left_ar_bq_button.get_visible()
|
||||
self._settings.bq_details_first = visible
|
||||
self._left_ar_bq_button.set_visible(not visible)
|
||||
self.init_bq_position()
|
||||
|
||||
# ***************** Copy - Cut - Paste *********************#
|
||||
|
||||
def on_services_copy(self, view):
|
||||
|
||||
@@ -2314,15 +2314,81 @@ Author: Dmitriy Yefremov
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="fav_header_label">
|
||||
<object class="GtkBox" id="fav_header_box">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_top">2</property>
|
||||
<property name="margin_bottom">2</property>
|
||||
<property name="label" translatable="yes">Bouquet details</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
</attributes>
|
||||
<property name="margin_left">2</property>
|
||||
<property name="margin_right">2</property>
|
||||
<property name="spacing">2</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="left_arrow_bq_button">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Toggle display position</property>
|
||||
<property name="action_name">app.on_switch_fav_position</property>
|
||||
<property name="relief">none</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="left_arrow_bq_image">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="pixel_size">12</property>
|
||||
<property name="icon_name">pan-end-symbolic-rtl</property>
|
||||
</object>
|
||||
</child>
|
||||
<style>
|
||||
<class name="arrow-button"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child type="center">
|
||||
<object class="GtkLabel" id="fav_header_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_top">2</property>
|
||||
<property name="margin_bottom">2</property>
|
||||
<property name="label" translatable="yes">Bouquet details</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="right_arrow_bq_button">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Toggle display position</property>
|
||||
<property name="action_name">app.on_switch_fav_position</property>
|
||||
<property name="relief">none</property>
|
||||
<property name="always_show_image">True</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="right_arrow_bq_image">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="pixel_size">12</property>
|
||||
<property name="icon_name">pan-end-symbolic</property>
|
||||
</object>
|
||||
</child>
|
||||
<style>
|
||||
<class name="arrow-button"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
||||
@@ -36,6 +36,13 @@
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.arrow-button {
|
||||
padding: 0px;
|
||||
margin: 1px;
|
||||
min-width: 12px;
|
||||
min-height: 12px;
|
||||
}
|
||||
|
||||
.group {}
|
||||
|
||||
.group :first-child {
|
||||
|
||||
Reference in New Issue
Block a user