mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
Implement #449
This commit is contained in:
parent
672a1fa26a
commit
2e3157cfa3
@ -37,6 +37,9 @@ class ConfigDialog(QDialog, Ui_Dialog):
|
|||||||
self.connect(self.browse_button, SIGNAL('clicked(bool)'), self.browse)
|
self.connect(self.browse_button, SIGNAL('clicked(bool)'), self.browse)
|
||||||
|
|
||||||
dirs = settings.value('frequently used directories', QVariant(QStringList())).toStringList()
|
dirs = settings.value('frequently used directories', QVariant(QStringList())).toStringList()
|
||||||
|
rn = bool(settings.value('use roman numerals for series number',
|
||||||
|
QVariant(True)).toBool())
|
||||||
|
self.roman_numerals.setChecked(rn)
|
||||||
self.directory_list.addItems(dirs)
|
self.directory_list.addItems(dirs)
|
||||||
self.connect(self.add_button, SIGNAL('clicked(bool)'), self.add_dir)
|
self.connect(self.add_button, SIGNAL('clicked(bool)'), self.add_dir)
|
||||||
self.connect(self.remove_button, SIGNAL('clicked(bool)'), self.remove_dir)
|
self.connect(self.remove_button, SIGNAL('clicked(bool)'), self.remove_dir)
|
||||||
@ -69,5 +72,7 @@ class ConfigDialog(QDialog, Ui_Dialog):
|
|||||||
else:
|
else:
|
||||||
self.database_location = os.path.abspath(path)
|
self.database_location = os.path.abspath(path)
|
||||||
self.directories = [qstring_to_unicode(self.directory_list.item(i).text()) for i in range(self.directory_list.count())]
|
self.directories = [qstring_to_unicode(self.directory_list.item(i).text()) for i in range(self.directory_list.count())]
|
||||||
QSettings().setValue('frequently used directories', QVariant(self.directories))
|
settings = QSettings()
|
||||||
|
settings.setValue('frequently used directories', QVariant(self.directories))
|
||||||
|
settings.setValue('use roman numerals for series number', QVariant(self.roman_numerals.isChecked()))
|
||||||
QDialog.accept(self)
|
QDialog.accept(self)
|
||||||
|
@ -54,7 +54,7 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0" >
|
<item row="2" column="0" >
|
||||||
<widget class="QGroupBox" name="dirs_box" >
|
<widget class="QGroupBox" name="dirs_box" >
|
||||||
<property name="title" >
|
<property name="title" >
|
||||||
<string>Frequently used directories</string>
|
<string>Frequently used directories</string>
|
||||||
@ -149,7 +149,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0" >
|
<item row="3" column="0" >
|
||||||
<spacer>
|
<spacer>
|
||||||
<property name="orientation" >
|
<property name="orientation" >
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
@ -162,6 +162,16 @@
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="0" >
|
||||||
|
<widget class="QCheckBox" name="roman_numerals" >
|
||||||
|
<property name="text" >
|
||||||
|
<string>Use &Roman numerals for series number</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked" >
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="page_2" />
|
<widget class="QWidget" name="page_2" />
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
## You should have received a copy of the GNU General Public License along
|
## You should have received a copy of the GNU General Public License along
|
||||||
## with this program; if not, write to the Free Software Foundation, Inc.,
|
## with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
from libprs500.gui2 import qstring_to_unicode
|
|
||||||
import os, textwrap, traceback, time, re, sre_constants
|
import os, textwrap, traceback, time, re, sre_constants
|
||||||
from datetime import timedelta, datetime
|
from datetime import timedelta, datetime
|
||||||
from operator import attrgetter
|
from operator import attrgetter
|
||||||
@ -22,11 +21,13 @@ from PyQt4.QtGui import QTableView, QProgressDialog, QAbstractItemView, QColor,
|
|||||||
QPen, QStyle, QPainter, QLineEdit, QApplication, \
|
QPen, QStyle, QPainter, QLineEdit, QApplication, \
|
||||||
QPalette
|
QPalette
|
||||||
from PyQt4.QtCore import QAbstractTableModel, QVariant, Qt, QString, \
|
from PyQt4.QtCore import QAbstractTableModel, QVariant, Qt, QString, \
|
||||||
QCoreApplication, SIGNAL, QObject, QSize, QModelIndex
|
QCoreApplication, SIGNAL, QObject, QSize, QModelIndex, \
|
||||||
|
QSettings
|
||||||
|
|
||||||
from libprs500.ptempfile import PersistentTemporaryFile
|
from libprs500.ptempfile import PersistentTemporaryFile
|
||||||
from libprs500.library.database import LibraryDatabase
|
from libprs500.library.database import LibraryDatabase
|
||||||
from libprs500.gui2 import NONE, TableView
|
from libprs500.gui2 import NONE, TableView
|
||||||
|
from libprs500.gui2 import qstring_to_unicode
|
||||||
|
|
||||||
class LibraryDelegate(QItemDelegate):
|
class LibraryDelegate(QItemDelegate):
|
||||||
COLOR = QColor("blue")
|
COLOR = QColor("blue")
|
||||||
@ -110,6 +111,12 @@ class BooksModel(QAbstractTableModel):
|
|||||||
self.cols = ['title', 'authors', 'size', 'date', 'rating', 'publisher', 'series']
|
self.cols = ['title', 'authors', 'size', 'date', 'rating', 'publisher', 'series']
|
||||||
self.sorted_on = (3, Qt.AscendingOrder)
|
self.sorted_on = (3, Qt.AscendingOrder)
|
||||||
self.last_search = '' # The last search performed on this model
|
self.last_search = '' # The last search performed on this model
|
||||||
|
self.read_config()
|
||||||
|
|
||||||
|
def read_config(self):
|
||||||
|
self.use_roman_numbers = bool(QSettings().value('use roman numerals for series number',
|
||||||
|
QVariant(True)).toBool())
|
||||||
|
|
||||||
|
|
||||||
def set_database(self, db):
|
def set_database(self, db):
|
||||||
if isinstance(db, (QString, basestring)):
|
if isinstance(db, (QString, basestring)):
|
||||||
@ -218,7 +225,7 @@ class BooksModel(QAbstractTableModel):
|
|||||||
series = self.db.series(idx)
|
series = self.db.series(idx)
|
||||||
if series:
|
if series:
|
||||||
sidx = self.db.series_index(idx)
|
sidx = self.db.series_index(idx)
|
||||||
sidx = self.__class__.roman(sidx)
|
sidx = self.__class__.roman(sidx) if self.use_roman_numbers else str(sidx)
|
||||||
data[_('Series')] = _('Book <font face="serif">%s</font> of %s.')%(sidx, series)
|
data[_('Series')] = _('Book <font face="serif">%s</font> of %s.')%(sidx, series)
|
||||||
self.emit(SIGNAL('new_bookdisplay_data(PyQt_PyObject)'), data)
|
self.emit(SIGNAL('new_bookdisplay_data(PyQt_PyObject)'), data)
|
||||||
|
|
||||||
|
@ -692,6 +692,7 @@ class Main(MainWindow, Ui_MainWindow):
|
|||||||
self.library_view.sortByColumn(3, Qt.DescendingOrder)
|
self.library_view.sortByColumn(3, Qt.DescendingOrder)
|
||||||
self.library_view.resizeRowsToContents()
|
self.library_view.resizeRowsToContents()
|
||||||
set_sidebar_directories(d.directories)
|
set_sidebar_directories(d.directories)
|
||||||
|
self.library_view.model().read_config()
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user