a?adida la columna le?do

se guarda el estado de las columas en la tabla
This commit is contained in:
Luis Ángel San Martín
2013-05-25 21:47:05 +02:00
parent 81c59ee1f5
commit 6fb4393e49
5 changed files with 30 additions and 5 deletions

View File

@ -4,6 +4,9 @@ A
A<EFBFBD>adidos t<>tulos "Bibliotecas" y "Carpetas" a la barra de navegaci<63>n A<EFBFBD>adidos t<>tulos "Bibliotecas" y "Carpetas" a la barra de navegaci<63>n
Nuevos iconos para seleccionar la carpeta ra<72>z, expandir y contraer todos. Nuevos iconos para seleccionar la carpeta ra<72>z, expandir y contraer todos.
Bot<EFBFBD>n para cambiar el puerto del servidor por el usuario. Bot<EFBFBD>n para cambiar el puerto del servidor por el usuario.
Ahora las columnas de la tabla de c<>mics pueden reordenarse
Ahora YACReaderLibrary s<>lo permite una instancia ejecutandose.
Columna le<6C>do a<>adida.
6.2 6.2
Nueva ventana de "bienvenida" Nueva ventana de "bienvenida"

View File

@ -5,8 +5,9 @@
#include <QVariant> #include <QVariant>
//! [0] //! [0]
class TableItem class TableItem : public QObject
{ {
Q_OBJECT
public: public:
TableItem(const QList<QVariant> &data); TableItem(const QList<QVariant> &data);
~TableItem(); ~TableItem();

View File

@ -68,6 +68,8 @@ QVariant TableModel::data(const QModelIndex &index, int role) const
TableItem *item = static_cast<TableItem*>(index.internalPointer()); TableItem *item = static_cast<TableItem*>(index.internalPointer());
if(index.column() == HASH) if(index.column() == HASH)
return QString::number(item->data(index.column()).toString().right(item->data(index.column()).toString().length()-40).toInt()/1024.0/1024.0,'f',2)+"Mb"; return QString::number(item->data(index.column()).toString().right(item->data(index.column()).toString().length()-40).toInt()/1024.0/1024.0,'f',2)+"Mb";
if(index.column() == READ)
return item->data(index.column()).toBool()?QVariant(tr("yes")):QVariant(tr("no"));
return item->data(index.column()); return item->data(index.column());
} }
//! [3] //! [3]
@ -100,6 +102,8 @@ QVariant TableModel::headerData(int section, Qt::Orientation orientation,
return QVariant(QString(tr("Pages"))); return QVariant(QString(tr("Pages")));
case 7: case 7:
return QVariant(QString(tr("Size"))); return QVariant(QString(tr("Size")));
case 8:
return QVariant(QString(tr("Read")));
} }
} }
@ -357,6 +361,8 @@ QVector<bool> TableModel::setAllComicsRead(bool read)
db.close(); db.close();
QSqlDatabase::removeDatabase(_databasePath); QSqlDatabase::removeDatabase(_databasePath);
emit dataChanged(index(0,READ),index(numComics-1,READ));
return readList; return readList;
} }
@ -393,6 +399,8 @@ QVector<bool> TableModel::setComicsRead(QList<QModelIndex> list,bool read)
db.close(); db.close();
QSqlDatabase::removeDatabase(_databasePath); QSqlDatabase::removeDatabase(_databasePath);
emit dataChanged(index(list.first().row(),READ),index(list.last().row(),READ));
return getReadList(); return getReadList();
} }
qint64 TableModel::asignNumbers(QList<QModelIndex> list,int startingNumber) qint64 TableModel::asignNumbers(QList<QModelIndex> list,int startingNumber)
@ -414,6 +422,9 @@ qint64 TableModel::asignNumbers(QList<QModelIndex> list,int startingNumber)
db.commit(); db.commit();
db.close(); db.close();
QSqlDatabase::removeDatabase(_databasePath); QSqlDatabase::removeDatabase(_databasePath);
//emit dataChanged(index(list.first().row(),READ),index(list.last().row(),READ));
return idFirst; return idFirst;
} }
QModelIndex TableModel::getIndexFromId(quint64 id) QModelIndex TableModel::getIndexFromId(quint64 id)

View File

@ -95,6 +95,10 @@ void LibraryWindow::setupUI()
else else
//if(settings->value(USE_OPEN_GL).toBool() == false) //if(settings->value(USE_OPEN_GL).toBool() == false)
showMaximized(); showMaximized();
if(settings->contains(COMICS_VIEW_HEADERS))
comicView->horizontalHeader()->restoreState(settings->value(COMICS_VIEW_HEADERS).toByteArray());
/*if(settings->contains(COMICS_VIEW_HEADERS_GEOMETRY))
comicView->horizontalHeader()->restoreGeometry(settings->value(COMICS_VIEW_HEADERS_GEOMETRY).toByteArray());*/
} }
void LibraryWindow::doLayout() void LibraryWindow::doLayout()
@ -867,14 +871,15 @@ void LibraryWindow::loadCovers(const QModelIndex & mi)
dmCV->setupModelData(folderId,dm->getDatabase()); dmCV->setupModelData(folderId,dm->getDatabase());
comicView->setModel(dmCV); comicView->setModel(dmCV);
comicView->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft); comicView->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
comicView->horizontalHeader()->setMovable(true);
//TODO parametrizar la configuraci<63>n de las columnas //TODO parametrizar la configuraci<63>n de las columnas
for(int i = 4;i<comicView->horizontalHeader()->count();i++) for(int i = 4;i<comicView->horizontalHeader()->count()-2;i++)
if(i!=7)
comicView->horizontalHeader()->hideSection(i); comicView->horizontalHeader()->hideSection(i);
//debido a un bug, qt4 no es capaz de ajustar el ancho teniendo en cuenta todas la filas (no s<>lo las visibles) //debido a un bug, qt4 no es capaz de ajustar el ancho teniendo en cuenta todas la filas (no s<>lo las visibles)
//as<61> que se ecala la primera vez y despu<70>s se deja el control al usuario. //as<61> que se ecala la primera vez y despu<70>s se deja el control al usuario.
if(!settings->contains(COMICS_VIEW_HEADERS))
comicView->resizeColumnsToContents(); comicView->resizeColumnsToContents();
comicView->horizontalHeader()->setStretchLastSection(true); comicView->horizontalHeader()->setStretchLastSection(true);
@ -1399,6 +1404,8 @@ void LibraryWindow::showImportComicsInfo()
void LibraryWindow::closeEvent ( QCloseEvent * event ) void LibraryWindow::closeEvent ( QCloseEvent * event )
{ {
settings->setValue(MAIN_WINDOW_GEOMETRY, saveGeometry()); settings->setValue(MAIN_WINDOW_GEOMETRY, saveGeometry());
settings->setValue(COMICS_VIEW_HEADERS,comicView->horizontalHeader()->saveState());
//settings->setValue(COMICS_VIEW_HEADERS_GEOMETRY,comicView->horizontalHeader()->saveGeometry());
} }
void LibraryWindow::showNoLibrariesWidget() void LibraryWindow::showNoLibrariesWidget()

View File

@ -45,9 +45,12 @@
#define MAIN_WINDOW_GEOMETRY "MAIN_WINDOW_GEOMETRY" #define MAIN_WINDOW_GEOMETRY "MAIN_WINDOW_GEOMETRY"
#define MAIN_WINDOW_STATE "MAIN_WINDOW_STATE" #define MAIN_WINDOW_STATE "MAIN_WINDOW_STATE"
#define COMICS_VIEW_HEADERS "COMICS_VIEW_HEADERS"
#define COMICS_VIEW_HEADERS_GEOMETRY "COMICS_VIEW_HEADERS_GEOMETRY"
#define YACREADERLIBRARY_GUID "ea343ff3-2005-4865-b212-7fa7c43999b8" #define YACREADERLIBRARY_GUID "ea343ff3-2005-4865-b212-7fa7c43999b8"
enum FlowType enum FlowType
{ {
CoverFlowLike=0, CoverFlowLike=0,