Load preview images on ComboBox changes

This commit is contained in:
2024-01-03 22:47:53 +01:00
parent 14f6548ce7
commit 513cb38154
3 changed files with 42 additions and 22 deletions

View File

@@ -559,7 +559,7 @@
</packing>
</child>
<child>
<object class="GtkImage">
<object class="GtkImage" id="img_period_0">
<property name="width-request">200</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
@@ -572,7 +572,7 @@
</packing>
</child>
<child>
<object class="GtkImage">
<object class="GtkImage" id="img_period_2">
<property name="width-request">200</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
@@ -585,7 +585,7 @@
</packing>
</child>
<child>
<object class="GtkImage">
<object class="GtkImage" id="img_period_4">
<property name="width-request">200</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
@@ -598,7 +598,7 @@
</packing>
</child>
<child>
<object class="GtkImage">
<object class="GtkImage" id="img_period_6">
<property name="width-request">200</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
@@ -611,7 +611,7 @@
</packing>
</child>
<child>
<object class="GtkImage">
<object class="GtkImage" id="img_period_8">
<property name="width-request">200</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
@@ -706,7 +706,7 @@
<property name="column-spacing">8</property>
<property name="column-homogeneous">True</property>
<child>
<object class="GtkImage">
<object class="GtkImage" id="img_period_1">
<property name="width-request">200</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
@@ -719,7 +719,7 @@
</packing>
</child>
<child>
<object class="GtkImage">
<object class="GtkImage" id="img_period_9">
<property name="width-request">200</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
@@ -732,7 +732,7 @@
</packing>
</child>
<child>
<object class="GtkImage">
<object class="GtkImage" id="img_period_7">
<property name="width-request">200</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
@@ -745,7 +745,7 @@
</packing>
</child>
<child>
<object class="GtkImage">
<object class="GtkImage" id="img_period_5">
<property name="width-request">200</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
@@ -758,7 +758,7 @@
</packing>
</child>
<child>
<object class="GtkImage">
<object class="GtkImage" id="img_period_3">
<property name="width-request">200</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
@@ -863,7 +863,7 @@
</packing>
</child>
<child>
<object class="GtkComboBox" id="cb_period_5">
<object class="GtkComboBox" id="cb_period_7">
<property name="visible">True</property>
<property name="can-focus">False</property>
<signal name="changed" handler="on_cb_period_changed" swapped="no"/>
@@ -874,7 +874,7 @@
</packing>
</child>
<child>
<object class="GtkComboBox" id="cb_period_7">
<object class="GtkComboBox" id="cb_period_5">
<property name="visible">True</property>
<property name="can-focus">False</property>
<signal name="changed" handler="on_cb_period_changed" swapped="no"/>

View File

@@ -69,6 +69,14 @@ class Preferences:
self.builder.get_object("etr_period_9"), self.builder.get_object("etr_period_10"),
]
self.img_periods = [
self.builder.get_object("img_period_0"), self.builder.get_object("img_period_1"),
self.builder.get_object("img_period_2"), self.builder.get_object("img_period_3"),
self.builder.get_object("img_period_4"), self.builder.get_object("img_period_5"),
self.builder.get_object("img_period_6"), self.builder.get_object("img_period_7"),
self.builder.get_object("img_period_8"), self.builder.get_object("img_period_9"),
]
self.cb_periods = [
self.builder.get_object("cb_period_0"), self.builder.get_object("cb_period_1"),
self.builder.get_object("cb_period_2"), self.builder.get_object("cb_period_3"),
@@ -238,9 +246,14 @@ class Preferences:
self.add_items_to_combo_box(combobox, options)
def load_images_to_preview(self, image_src: list):
# todo
pass
def load_image_to_preview(self, image_preview: Gtk.Image, image_src: list):
try:
pixbuf = GdkPixbuf.Pixbuf.new_from_file(image_src)
pixbuf = pixbuf.scale_simple(250, 175, GdkPixbuf.InterpType.BILINEAR)
image_preview.set_from_pixbuf(pixbuf)
except:
pass
############################################################
@@ -269,15 +282,18 @@ class Preferences:
combobox (Gtk.ComboBox): ComboBox where to add the options
items (list): Possible options
"""
model = combobox.get_model()
store = Gtk.ListStore(str)
for image_set in items:
store.append([image_set])
combobox.set_model(store)
renderer_text = Gtk.CellRendererText()
combobox.pack_start(renderer_text, True)
combobox.add_attribute(renderer_text, "text", 0)
if model == None:
renderer_text = Gtk.CellRendererText()
combobox.pack_start(renderer_text, True)
combobox.add_attribute(renderer_text, "text", 0)
@@ -336,19 +352,23 @@ class Preferences:
self.load_image_options_to_combo_boxes(image_names)
# todo: Load images to preview
def on_cb_period_changed(self, combobox: Gtk.ComboBox):
tree_iter = combobox.get_active_iter()
combobox_name = Gtk.Buildable.get_name(combobox)
period_index = int(combobox_name[10:12])
period_index = int(combobox_name[10:11])
if tree_iter is not None:
# Get the selected value
model = combobox.get_model()
self.c_prefs.prefs["period_%s_image" % (period_index)] = model[tree_iter][0]
image_file_name = model[tree_iter][0]
self.c_prefs.prefs["period_%s_image" % (period_index)] = image_file_name
image_path = os.path.abspath(os.path.join(PREFERENCES_URI, os.pardir)) + \
"/images/included_image_sets/" + self.c_prefs.prefs[PrefenceEnums.SELECTED_IMAGE_SET] + "/"
self.load_image_to_preview(self.img_periods[period_index], image_path + image_file_name)
## Location & Times

Binary file not shown.

Before

Width:  |  Height:  |  Size: 332 KiB

After

Width:  |  Height:  |  Size: 412 KiB