mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-05-15 10:22:26 +12:00
Fixed logo in about dialog and adjusted settings key usage
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
This commit is contained in:
parent
6dc89db53d
commit
2b6ce28135
|
@ -16,13 +16,25 @@ class Settings:
|
|||
Settings.loadDefaultSettings(self)
|
||||
|
||||
def get(self, key: str):
|
||||
return self.properties.get(key)
|
||||
props = self.properties
|
||||
path = key.split(".")
|
||||
|
||||
for part in path[:-1]:
|
||||
props = props.get(part)
|
||||
|
||||
return props.get(path[-1:][0])
|
||||
|
||||
def isEnabled(self, key: str) -> bool:
|
||||
return self.properties.get(key, False) is True
|
||||
|
||||
def set(self, key: str, value):
|
||||
self.properties[key] = value
|
||||
props = self.properties
|
||||
path = key.split(".")
|
||||
|
||||
for part in path[:-1]:
|
||||
props = props.get(part)
|
||||
|
||||
props[path[-1:][0]] = value
|
||||
|
||||
def __iter__(self):
|
||||
return self.properties.__iter__()
|
||||
|
|
|
@ -28,13 +28,13 @@ class AbstractDialog:
|
|||
builder.add_from_file(self.builderTemplatePath)
|
||||
|
||||
self.window = builder.get_object(self.builderObjectId)
|
||||
self.window.connect("destroy", self.__destroyWindow)
|
||||
self.window.connect("destroy", self._destroyWindow)
|
||||
self.window.set_transient_for(self.mainWindow.window)
|
||||
self.window.set_modal(True)
|
||||
|
||||
self.initWindow(builder, self.window)
|
||||
|
||||
def __destroyWindow(self, window: Gtk.Widget):
|
||||
def _destroyWindow(self, window: Gtk.Widget):
|
||||
self.window = None
|
||||
|
||||
def show(self):
|
||||
|
|
|
@ -73,6 +73,12 @@ class MainWindow:
|
|||
MainWindow.bindMenuItem(builder, "settings_menu_item", self.openSettings)
|
||||
MainWindow.bindMenuItem(builder, "about_menu_item", self.openAbout)
|
||||
|
||||
def getProject(self):
|
||||
return self.project
|
||||
|
||||
def getSettings(self):
|
||||
return self.getProject().settings
|
||||
|
||||
def openSettings(self, menuItem: Gtk.MenuItem):
|
||||
self.settingsWindow.show()
|
||||
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import gi
|
||||
|
||||
gi.require_version("Gtk", "3.0")
|
||||
from gi.repository import Gtk
|
||||
|
||||
from manuskript.ui.abstractDialog import AbstractDialog
|
||||
|
||||
|
||||
|
@ -8,3 +13,61 @@ class SettingsWindow(AbstractDialog):
|
|||
|
||||
def __init__(self, mainWindow):
|
||||
AbstractDialog.__init__(self, mainWindow, "ui/settings.glade", "settings_window")
|
||||
|
||||
def initWindow(self, builder, window):
|
||||
self.autoSave = builder.get_object("auto_save")
|
||||
self.autoSaveDelay = builder.get_object("auto_save_delay")
|
||||
self.autoSaveNoChanges = builder.get_object("auto_save_nochanges")
|
||||
self.autoSaveNoChangesDelay = builder.get_object("auto_save_nochanges_delay")
|
||||
self.saveOnQuit = builder.get_object("save_on_quit")
|
||||
self.saveToZip = builder.get_object("save_to_zip")
|
||||
|
||||
self.revisionsKeep = builder.get_object("revisions_keep")
|
||||
self.revisionsSmartremove = builder.get_object("revisions_smartremove")
|
||||
|
||||
self.autoSave.set_active(self.getSettings().get("autoSave"))
|
||||
self.autoSaveDelay.set_value(self.getSettings().get("autoSaveDelay"))
|
||||
self.autoSaveNoChanges.set_active(self.getSettings().get("autoSaveNoChanges"))
|
||||
self.autoSaveNoChangesDelay.set_value(self.getSettings().get("autoSaveNoChangesDelay"))
|
||||
self.saveOnQuit.set_active(self.getSettings().get("saveOnQuit"))
|
||||
self.saveToZip.set_active(self.getSettings().get("saveToZip"))
|
||||
|
||||
self.revisionsKeep.set_active(self.getSettings().get("revisions.keep"))
|
||||
self.revisionsSmartremove.set_active(self.getSettings().get("revisions.smartremove"))
|
||||
|
||||
self.autoSave.connect("toggled", self._autoSaveToggled)
|
||||
self.autoSaveDelay.connect("value-changed", self._autoSaveChanged)
|
||||
self.autoSaveNoChanges.connect("toggled", self._autoSaveNoChangesToggled)
|
||||
self.autoSaveNoChangesDelay.connect("value-changed", self._autoSaveNoChangesChanged)
|
||||
self.saveOnQuit.connect("toggled", self._saveOnQuitToggled)
|
||||
self.saveToZip.connect("toggled", self._saveToZipToggled)
|
||||
|
||||
self.revisionsKeep.connect("toggled", self._revisionsKeepToggled)
|
||||
self.revisionsSmartremove.connect("toggled", self._revisionsSmartremoveToggled)
|
||||
|
||||
def _autoSaveToggled(self, button: Gtk.ToggleButton):
|
||||
self.getSettings().set("autoSave", button.get_active())
|
||||
|
||||
def _autoSaveChanged(self, button: Gtk.SpinButton):
|
||||
self.getSettings().set("autoSaveDelay", button.get_value())
|
||||
|
||||
def _autoSaveNoChangesToggled(self, button: Gtk.ToggleButton):
|
||||
self.getSettings().set("autoSaveNoChanges", button.get_active())
|
||||
|
||||
def _autoSaveNoChangesChanged(self, button: Gtk.SpinButton):
|
||||
self.getSettings().set("autoSaveNoChangesDelay", button.get_value())
|
||||
|
||||
def _saveOnQuitToggled(self, button: Gtk.ToggleButton):
|
||||
self.getSettings().set("saveOnQuit", button.get_active())
|
||||
|
||||
def _saveToZipToggled(self, button: Gtk.ToggleButton):
|
||||
self.getSettings().set("saveToZip", button.get_active())
|
||||
|
||||
def _revisionsKeepToggled(self, button: Gtk.ToggleButton):
|
||||
self.getSettings().set("revisions.keep", button.get_active())
|
||||
|
||||
def _revisionsSmartremoveToggled(self, button: Gtk.ToggleButton):
|
||||
self.getSettings().set("revisions.smartremove", button.get_active())
|
||||
|
||||
def getSettings(self):
|
||||
return self.mainWindow.getSettings()
|
||||
|
|
|
@ -21,7 +21,7 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
|
|||
-->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.24"/>
|
||||
<!-- interface-local-resource-path ../ -->
|
||||
<!-- interface-local-resource-path . -->
|
||||
<!-- interface-license-type gplv3 -->
|
||||
<!-- interface-name Manuskript -->
|
||||
<!-- interface-description Manuskript is an open-source tool for writers. -->
|
||||
|
@ -118,7 +118,7 @@ nicxxx
|
|||
obw
|
||||
peter88213
|
||||
ssantos </property>
|
||||
<property name="logo">icons/Manuskript/logo-400x104.png</property>
|
||||
<property name="logo">../icons/Manuskript/logo-400x104.png</property>
|
||||
<property name="license-type">gpl-3-0</property>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox">
|
||||
|
|
|
@ -308,7 +308,7 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
|
|||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkComboBox">
|
||||
<object class="GtkComboBox" id="general_language">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="model">languages_store</property>
|
||||
|
@ -359,7 +359,7 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
|
|||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSpinButton">
|
||||
<object class="GtkSpinButton" id="general_font_size">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="input-purpose">number</property>
|
||||
|
@ -394,7 +394,7 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
|
|||
<property name="can-focus">True</property>
|
||||
<property name="title">Automatic loading</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton">
|
||||
<object class="GtkCheckButton" id="automatic_load">
|
||||
<property name="label" translatable="yes">Automatically load last project on startup</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
|
@ -434,7 +434,7 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
|
|||
<property name="margin-bottom">12</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton">
|
||||
<object class="GtkCheckButton" id="auto_save">
|
||||
<property name="label" translatable="yes">Automatically save every</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
|
@ -448,7 +448,7 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
|
|||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSpinButton">
|
||||
<object class="GtkSpinButton" id="auto_save_delay">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="text" translatable="yes">0</property>
|
||||
|
@ -494,7 +494,7 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
|
|||
<property name="margin-bottom">12</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton">
|
||||
<object class="GtkCheckButton" id="auto_save_nochanges">
|
||||
<property name="label" translatable="yes">If no changes during</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
|
@ -508,7 +508,7 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
|
|||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSpinButton">
|
||||
<object class="GtkSpinButton" id="auto_save_nochanges_delay">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="text" translatable="yes">0</property>
|
||||
|
@ -544,7 +544,7 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
|
|||
<property name="can-focus">True</property>
|
||||
<property name="title">Save on closure</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton">
|
||||
<object class="GtkCheckButton" id="save_on_quit">
|
||||
<property name="label" translatable="yes">Save on project close</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
|
@ -564,7 +564,7 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
|
|||
<property name="can-focus">True</property>
|
||||
<property name="title">Single file mode</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton">
|
||||
<object class="GtkCheckButton" id="save_to_zip">
|
||||
<property name="label" translatable="yes">Save to one single file</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
|
@ -603,7 +603,7 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
|
|||
<property name="can-focus">True</property>
|
||||
<property name="title">Keep revisions</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton">
|
||||
<object class="GtkCheckButton" id="revisions_keep">
|
||||
<property name="label" translatable="yes">Keep revisions</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
|
@ -623,7 +623,7 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
|
|||
<property name="can-focus">True</property>
|
||||
<property name="title">Smart remove</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton">
|
||||
<object class="GtkCheckButton" id="revisions_smartremove">
|
||||
<property name="label" translatable="yes">Smart remove</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
|
@ -2522,6 +2522,7 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
|
|||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="font">Sans 12</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
|
|
Loading…
Reference in a new issue