Load images from source folder to preview
This commit is contained in:
@@ -9,7 +9,7 @@ class PrefenceEnums(enumerate):
|
||||
IMAGE_SOURCE = "image_source"
|
||||
|
||||
SELECTED_IMAGE_SET = "selected_image_set"
|
||||
SELECTED_SOURCE_FOLDER = "selected_source_folder"
|
||||
SOURCE_FOLDER = "source_folder"
|
||||
|
||||
PERIOD_0_IMAGE = "period_0_image"
|
||||
PERIOD_1_IMAGE = "period_1_image"
|
||||
|
||||
@@ -437,6 +437,7 @@
|
||||
<property name="can-focus">False</property>
|
||||
<property name="action">select-folder</property>
|
||||
<property name="title" translatable="yes"/>
|
||||
<signal name="file-set" handler="on_fc_source_folder_file_set" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
@@ -627,7 +628,7 @@
|
||||
<object class="GtkComboBox" id="cb_period_0">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<signal name="changed" handler="on_cb_period_changed" swapped="no"/>
|
||||
<signal name="changed" handler="on_cb_period_preview_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">0</property>
|
||||
@@ -638,7 +639,7 @@
|
||||
<object class="GtkComboBox" id="cb_period_2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<signal name="changed" handler="on_cb_period_changed" swapped="no"/>
|
||||
<signal name="changed" handler="on_cb_period_preview_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">1</property>
|
||||
@@ -649,7 +650,7 @@
|
||||
<object class="GtkComboBox" id="cb_period_4">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<signal name="changed" handler="on_cb_period_changed" swapped="no"/>
|
||||
<signal name="changed" handler="on_cb_period_preview_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">2</property>
|
||||
@@ -660,7 +661,7 @@
|
||||
<object class="GtkComboBox" id="cb_period_6">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<signal name="changed" handler="on_cb_period_changed" swapped="no"/>
|
||||
<signal name="changed" handler="on_cb_period_preview_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">3</property>
|
||||
@@ -671,7 +672,7 @@
|
||||
<object class="GtkComboBox" id="cb_period_8">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<signal name="changed" handler="on_cb_period_changed" swapped="no"/>
|
||||
<signal name="changed" handler="on_cb_period_preview_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">4</property>
|
||||
@@ -844,7 +845,7 @@
|
||||
<object class="GtkComboBox" id="cb_period_1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<signal name="changed" handler="on_cb_period_changed" swapped="no"/>
|
||||
<signal name="changed" handler="on_cb_period_preview_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">0</property>
|
||||
@@ -855,7 +856,7 @@
|
||||
<object class="GtkComboBox" id="cb_period_3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<signal name="changed" handler="on_cb_period_changed" swapped="no"/>
|
||||
<signal name="changed" handler="on_cb_period_preview_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">1</property>
|
||||
@@ -866,7 +867,7 @@
|
||||
<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"/>
|
||||
<signal name="changed" handler="on_cb_period_preview_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">3</property>
|
||||
@@ -877,7 +878,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"/>
|
||||
<signal name="changed" handler="on_cb_period_preview_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">2</property>
|
||||
@@ -888,7 +889,7 @@
|
||||
<object class="GtkComboBox" id="cb_period_9">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<signal name="changed" handler="on_cb_period_changed" swapped="no"/>
|
||||
<signal name="changed" handler="on_cb_period_preview_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">4</property>
|
||||
@@ -909,122 +910,6 @@
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="margin-start">64</property>
|
||||
<property name="label" translatable="yes">Behaviour</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-start">64</property>
|
||||
<property name="margin-end">64</property>
|
||||
<property name="selection-mode">none</property>
|
||||
<property name="activate-on-single-click">False</property>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="height-request">36</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-start">12</property>
|
||||
<property name="margin-end">12</property>
|
||||
<property name="margin-top">12</property>
|
||||
<property name="margin-bottom">12</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="label" translatable="yes">Expand image over all displays</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="sw_expand_over_all_displays">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="halign">end</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-start">12</property>
|
||||
<property name="margin-end">12</property>
|
||||
<property name="margin-top">12</property>
|
||||
<property name="margin-bottom">12</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="label" translatable="yes">Show image on Lock Screen</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="sw_show_on_lock_screen">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="halign">end</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">3</property>
|
||||
<property name="position">6</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="name">image_config</property>
|
||||
@@ -2523,6 +2408,127 @@
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="gtkbox_behaviour">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-start">8</property>
|
||||
<property name="margin-end">8</property>
|
||||
<property name="margin-top">8</property>
|
||||
<property name="margin-bottom">8</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-left">64</property>
|
||||
<property name="margin-right">64</property>
|
||||
<property name="margin-start">64</property>
|
||||
<property name="margin-end">64</property>
|
||||
<property name="selection-mode">none</property>
|
||||
<property name="activate-on-single-click">False</property>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="height-request">36</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-left">12</property>
|
||||
<property name="margin-right">12</property>
|
||||
<property name="margin-start">12</property>
|
||||
<property name="margin-end">12</property>
|
||||
<property name="margin-top">12</property>
|
||||
<property name="margin-bottom">12</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="label" translatable="yes">Expand image over all displays</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="sw_expand_over_all_displays">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="halign">end</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-left">12</property>
|
||||
<property name="margin-right">12</property>
|
||||
<property name="margin-start">12</property>
|
||||
<property name="margin-end">12</property>
|
||||
<property name="margin-top">12</property>
|
||||
<property name="margin-bottom">12</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="label" translatable="yes">Show image on Lock Screen</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="sw_show_on_lock_screen">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="halign">end</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">3</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="name">behaviour</property>
|
||||
<property name="title" translatable="yes">Behaviour</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="gtkbox_about">
|
||||
<property name="visible">True</property>
|
||||
@@ -2779,7 +2785,7 @@
|
||||
<packing>
|
||||
<property name="name">about</property>
|
||||
<property name="title" translatable="yes">About</property>
|
||||
<property name="position">2</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
@@ -303,6 +303,10 @@ class Preferences:
|
||||
|
||||
## Image Configuration
|
||||
|
||||
# +-----------+-----------+---------------+
|
||||
# | Image Set | HEIC file | Source Folder |
|
||||
# +-----------+-----------+---------------+
|
||||
|
||||
def on_toggle_button_image_set_clicked(self, button: Gtk.Button):
|
||||
if button.get_active():
|
||||
self.c_prefs.prefs[PrefenceEnums.IMAGE_SOURCE] = ImageSourceEnum.IMAGESET
|
||||
@@ -313,6 +317,11 @@ class Preferences:
|
||||
self.lbr_heic_file.set_visible(False)
|
||||
self.lbr_source_folder.set_visible(False)
|
||||
|
||||
# Make the comboboxes invisible
|
||||
for combobox in self.cb_periods:
|
||||
combobox.set_visible(False)
|
||||
|
||||
|
||||
def on_toggle_button_heic_file_clicked(self, button: Gtk.Button):
|
||||
if button.get_active():
|
||||
self.c_prefs.prefs[PrefenceEnums.IMAGE_SOURCE] = ImageSourceEnum.HEICFILE
|
||||
@@ -323,6 +332,11 @@ class Preferences:
|
||||
self.lbr_heic_file.set_visible(True)
|
||||
self.lbr_source_folder.set_visible(False)
|
||||
|
||||
# Make the comboboxes visible
|
||||
for combobox in self.cb_periods:
|
||||
combobox.set_visible(True)
|
||||
|
||||
|
||||
def on_toggle_button_source_folder_clicked(self, button: Gtk.Button):
|
||||
if button.get_active():
|
||||
self.c_prefs.prefs[PrefenceEnums.IMAGE_SOURCE] = ImageSourceEnum.SOURCEFOLDER
|
||||
@@ -333,6 +347,12 @@ class Preferences:
|
||||
self.lbr_heic_file.set_visible(False)
|
||||
self.lbr_source_folder.set_visible(True)
|
||||
|
||||
# Make the comboboxes invisible
|
||||
for combobox in self.cb_periods:
|
||||
combobox.set_visible(True)
|
||||
|
||||
|
||||
|
||||
def on_cb_image_set_changed(self, combobox: Gtk.ComboBox):
|
||||
tree_iter = combobox.get_active_iter()
|
||||
|
||||
@@ -345,15 +365,40 @@ class Preferences:
|
||||
self.c_prefs.prefs[PrefenceEnums.SELECTED_IMAGE_SET] = selected_image_set
|
||||
|
||||
# Update the ComboBoxes for image selection
|
||||
image_path = os.path.abspath(os.path.join(PREFERENCES_URI, os.pardir)) + \
|
||||
self.c_prefs.prefs[PrefenceEnums.SOURCE_FOLDER] = os.path.abspath(os.path.join(PREFERENCES_URI, os.pardir)) + \
|
||||
"/images/included_image_sets/" + selected_image_set + "/"
|
||||
|
||||
image_names = self.images.get_images_from_folder(image_path)
|
||||
|
||||
# Load all possible options to the comboboxes
|
||||
image_names = self.images.get_images_from_folder(self.c_prefs.prefs[PrefenceEnums.SOURCE_FOLDER])
|
||||
self.load_image_options_to_combo_boxes(image_names)
|
||||
|
||||
# Image sets have the same names for the images:
|
||||
# 9.jpg = Period 0
|
||||
# 1.jpg = Period 1
|
||||
# 2.jpg = Period 2
|
||||
# and so on....
|
||||
self.cb_periods[0].set_active(8)
|
||||
for i in range(1, 10):
|
||||
self.cb_periods[i].set_active(i - 1)
|
||||
|
||||
def on_cb_period_changed(self, combobox: Gtk.ComboBox):
|
||||
|
||||
|
||||
def on_fc_source_folder_file_set(self, fc_button: Gtk.FileChooser):
|
||||
files = self.images.get_images_from_folder(fc_button.get_filename())
|
||||
|
||||
# Update the ComboBoxes for image selection
|
||||
self.c_prefs.prefs[PrefenceEnums.SOURCE_FOLDER] = fc_button.get_filename() + "/"
|
||||
|
||||
print(fc_button.get_filename())
|
||||
|
||||
if len(files) != 0:
|
||||
self.load_image_options_to_combo_boxes(files)
|
||||
else:
|
||||
#todo
|
||||
pass
|
||||
|
||||
|
||||
def on_cb_period_preview_changed(self, combobox: Gtk.ComboBox):
|
||||
tree_iter = combobox.get_active_iter()
|
||||
|
||||
combobox_name = Gtk.Buildable.get_name(combobox)
|
||||
@@ -363,12 +408,14 @@ class Preferences:
|
||||
# Get the selected value
|
||||
model = combobox.get_model()
|
||||
image_file_name = model[tree_iter][0]
|
||||
|
||||
# Store selection to preferences
|
||||
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] + "/"
|
||||
# Build up image path
|
||||
image_path = self.c_prefs.prefs[PrefenceEnums.SOURCE_FOLDER] + image_file_name
|
||||
|
||||
self.load_image_to_preview(self.img_periods[period_index], image_path + image_file_name)
|
||||
self.load_image_to_preview(self.img_periods[period_index], image_path)
|
||||
|
||||
|
||||
## Location & Times
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"type": "generic",
|
||||
"default": ""
|
||||
},
|
||||
"selected_source_folder": {
|
||||
"source_folder": {
|
||||
"type": "generic",
|
||||
"default": ""
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user