mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-08-05 08:40:13 -04:00
Preferences dialog: Dont show close button in sub panels. Disallow further preference editing after modifying custom columns. Fix gui re-init code not running after dialg closed
This commit is contained in:
parent
705a6e7d9d
commit
de298693ee
@ -42,15 +42,4 @@ class PreferencesAction(InterfaceAction):
|
|||||||
d = Preferences(self.gui, initial_plugin=initial_plugin)
|
d = Preferences(self.gui, initial_plugin=initial_plugin)
|
||||||
d.show()
|
d.show()
|
||||||
|
|
||||||
if d.committed:
|
|
||||||
self.gui.must_restart_before_config = d.must_restart
|
|
||||||
self.gui.tags_view.set_new_model() # in case columns changed
|
|
||||||
self.gui.tags_view.recount()
|
|
||||||
self.gui.create_device_menu()
|
|
||||||
self.gui.set_device_menu_items_state(bool(self.gui.device_connected))
|
|
||||||
self.gui.tool_bar.build_bar()
|
|
||||||
self.gui.build_context_menus()
|
|
||||||
self.gui.tool_bar.apply_settings()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,6 +36,10 @@ class ConfigWidgetInterface(object):
|
|||||||
restore_defaults_desc = _('Restore settings to default values. '
|
restore_defaults_desc = _('Restore settings to default values. '
|
||||||
'You have to click Apply to actually save the default settings.')
|
'You have to click Apply to actually save the default settings.')
|
||||||
|
|
||||||
|
#: If True the Preferences dialog will not allow the user to set any more
|
||||||
|
#: preferences. Only has effect if :meth:`commit` returns True.
|
||||||
|
restart_critical = False
|
||||||
|
|
||||||
def genesis(self, gui):
|
def genesis(self, gui):
|
||||||
'''
|
'''
|
||||||
Called once before the widget is displayed, should perform any
|
Called once before the widget is displayed, should perform any
|
||||||
@ -218,6 +222,7 @@ class ConfigWidgetBase(QWidget, ConfigWidgetInterface):
|
|||||||
|
|
||||||
changed_signal = pyqtSignal()
|
changed_signal = pyqtSignal()
|
||||||
supports_restoring_to_defaults = True
|
supports_restoring_to_defaults = True
|
||||||
|
restart_critical = False
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
QWidget.__init__(self, parent)
|
QWidget.__init__(self, parent)
|
||||||
|
@ -16,6 +16,8 @@ from calibre.gui2 import error_dialog, question_dialog, ALL_COLUMNS
|
|||||||
|
|
||||||
class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
||||||
|
|
||||||
|
restart_critical = True
|
||||||
|
|
||||||
def genesis(self, gui):
|
def genesis(self, gui):
|
||||||
self.gui = gui
|
self.gui = gui
|
||||||
db = self.gui.library_view.model().db
|
db = self.gui.library_view.model().db
|
||||||
|
@ -264,6 +264,7 @@ class Preferences(QMainWindow):
|
|||||||
self.bar_title.show_plugin(plugin)
|
self.bar_title.show_plugin(plugin)
|
||||||
self.setWindowIcon(QIcon(plugin.icon))
|
self.setWindowIcon(QIcon(plugin.icon))
|
||||||
self.bar.setVisible(True)
|
self.bar.setVisible(True)
|
||||||
|
self.bb.setVisible(False)
|
||||||
|
|
||||||
|
|
||||||
def hide_plugin(self):
|
def hide_plugin(self):
|
||||||
@ -273,6 +274,7 @@ class Preferences(QMainWindow):
|
|||||||
self.bar.setVisible(False)
|
self.bar.setVisible(False)
|
||||||
self.stack.setCurrentIndex(0)
|
self.stack.setCurrentIndex(0)
|
||||||
self.setWindowIcon(QIcon(I('config.png')))
|
self.setWindowIcon(QIcon(I('config.png')))
|
||||||
|
self.bb.setVisible(True)
|
||||||
|
|
||||||
def esc(self, *args):
|
def esc(self, *args):
|
||||||
if self.stack.currentIndex() == 1:
|
if self.stack.currentIndex() == 1:
|
||||||
@ -285,15 +287,24 @@ class Preferences(QMainWindow):
|
|||||||
must_restart = self.showing_widget.commit()
|
must_restart = self.showing_widget.commit()
|
||||||
except AbortCommit:
|
except AbortCommit:
|
||||||
return
|
return
|
||||||
|
rc = self.showing_widget.restart_critical
|
||||||
self.committed = True
|
self.committed = True
|
||||||
if must_restart:
|
if must_restart:
|
||||||
self.must_restart = True
|
self.must_restart = True
|
||||||
warning_dialog(self, _('Restart needed'),
|
msg = _('Some of the changes you made require a restart.'
|
||||||
_('Some of the changes you made require a restart.'
|
' Please restart calibre as soon as possible.')
|
||||||
' Please restart calibre as soon as possible.'),
|
if rc:
|
||||||
show=True, show_copy_button=False)
|
msg = _('The changes you have made require calibre be '
|
||||||
|
'restarted immediately. You will not be allowed '
|
||||||
|
'set any more preferences, until you restart.')
|
||||||
|
|
||||||
|
|
||||||
|
warning_dialog(self, _('Restart needed'), msg, show=True,
|
||||||
|
show_copy_button=False)
|
||||||
self.showing_widget.refresh_gui(self.gui)
|
self.showing_widget.refresh_gui(self.gui)
|
||||||
self.hide_plugin()
|
self.hide_plugin()
|
||||||
|
if must_restart and rc:
|
||||||
|
self.close()
|
||||||
|
|
||||||
|
|
||||||
def cancel(self, *args):
|
def cancel(self, *args):
|
||||||
@ -305,6 +316,16 @@ class Preferences(QMainWindow):
|
|||||||
def closeEvent(self, *args):
|
def closeEvent(self, *args):
|
||||||
gprefs.set('preferences_window_geometry',
|
gprefs.set('preferences_window_geometry',
|
||||||
bytearray(self.saveGeometry()))
|
bytearray(self.saveGeometry()))
|
||||||
|
if self.committed:
|
||||||
|
self.gui.must_restart_before_config = self.must_restart
|
||||||
|
self.gui.tags_view.set_new_model() # in case columns changed
|
||||||
|
self.gui.tags_view.recount()
|
||||||
|
self.gui.create_device_menu()
|
||||||
|
self.gui.set_device_menu_items_state(bool(self.gui.device_connected))
|
||||||
|
self.gui.tool_bar.build_bar()
|
||||||
|
self.gui.build_context_menus()
|
||||||
|
self.gui.tool_bar.apply_settings()
|
||||||
|
|
||||||
return QMainWindow.closeEvent(self, *args)
|
return QMainWindow.closeEvent(self, *args)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: calibre 0.7.17\n"
|
"Project-Id-Version: calibre 0.7.17\n"
|
||||||
"POT-Creation-Date: 2010-09-07 12:36+MDT\n"
|
"POT-Creation-Date: 2010-09-07 13:11+MDT\n"
|
||||||
"PO-Revision-Date: 2010-09-07 12:36+MDT\n"
|
"PO-Revision-Date: 2010-09-07 13:11+MDT\n"
|
||||||
"Last-Translator: Automatically generated\n"
|
"Last-Translator: Automatically generated\n"
|
||||||
"Language-Team: LANGUAGE\n"
|
"Language-Team: LANGUAGE\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -178,7 +178,7 @@ msgstr ""
|
|||||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22
|
#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:187
|
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:187
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:251
|
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:251
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:272
|
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:273
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:206
|
#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:206
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2888,7 +2888,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:186
|
#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:186
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:53
|
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:53
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:100
|
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102
|
||||||
msgid "Are you sure?"
|
msgid "Are you sure?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -7073,15 +7073,15 @@ msgstr ""
|
|||||||
msgid "Use internal &viewer for:"
|
msgid "Use internal &viewer for:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:94
|
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96
|
||||||
msgid "You must select a column to delete it"
|
msgid "You must select a column to delete it"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:99
|
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:101
|
||||||
msgid "The selected column is not a custom column"
|
msgid "The selected column is not a custom column"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:101
|
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:103
|
||||||
msgid "Do you really want to delete column %s and all its data?"
|
msgid "Do you really want to delete column %s and all its data?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -7429,13 +7429,17 @@ msgstr ""
|
|||||||
msgid "Restoring to defaults not supported for"
|
msgid "Restoring to defaults not supported for"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:291
|
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:294
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
|
msgid "Some of the changes you made require a restart. Please restart calibre as soon as possible."
|
||||||
msgid "Restart needed"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:292
|
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:297
|
||||||
msgid "Some of the changes you made require a restart. Please restart calibre as soon as possible."
|
msgid "The changes you have made require calibre be restarted immediately. You will not be allowed set any more preferences, until you restart."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:302
|
||||||
|
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120
|
||||||
|
msgid "Restart needed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:49
|
#: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:49
|
||||||
|
Loading…
x
Reference in New Issue
Block a user