diff --git a/YACReader/main_window_viewer.cpp b/YACReader/main_window_viewer.cpp index 939b9e66..0a68295b 100644 --- a/YACReader/main_window_viewer.cpp +++ b/YACReader/main_window_viewer.cpp @@ -35,6 +35,8 @@ void MainWindowViewer::setupUI() { setWindowIcon(QIcon(":/images/icon.png")); + setUnifiedTitleAndToolBarOnMac(true); + viewer = new Viewer(this); connect(viewer,SIGNAL(reset()),this,SLOT(disableActions())); diff --git a/YACReaderLibrary/YACReaderLibrary.pro b/YACReaderLibrary/YACReaderLibrary.pro index 4b5039e9..d7d643e9 100644 --- a/YACReaderLibrary/YACReaderLibrary.pro +++ b/YACReaderLibrary/YACReaderLibrary.pro @@ -72,7 +72,8 @@ HEADERS += comic_flow.h \ ../common/qnaturalsorting.h \ ../common/yacreader_flow_gl.h \ ../common/yacreader_global.h \ - ../common/onstart_flow_selection_dialog.h + ../common/onstart_flow_selection_dialog.h \ + no_libraries_widget.h SOURCES += comic_flow.cpp \ create_library_dialog.cpp \ @@ -106,7 +107,8 @@ SOURCES += comic_flow.cpp \ ../common/custom_widgets.cpp \ ../common/qnaturalsorting.cpp \ ../common/yacreader_flow_gl.cpp \ - ../common/onstart_flow_selection_dialog.cpp + ../common/onstart_flow_selection_dialog.cpp \ + no_libraries_widget.cpp include(./server/server.pri) diff --git a/YACReaderLibrary/images.qrc b/YACReaderLibrary/images.qrc index 74f3e540..f01ea5aa 100644 --- a/YACReaderLibrary/images.qrc +++ b/YACReaderLibrary/images.qrc @@ -4,6 +4,7 @@ ../images/folder.png ../images/help.png ../images/icon.png + ../images/iconLibrary.png ../images/new.png ../images/openLibrary.png ../images/removeLibrary.png @@ -57,5 +58,7 @@ ../images/comicTar.png ../images/comic7z.png ../images/serverConfigBackground.png + ../images/noLibrariesIcon.png + ../images/noLibrariesLine.png \ No newline at end of file diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index 196ea82d..82ce9445 100644 --- a/YACReaderLibrary/library_window.cpp +++ b/YACReaderLibrary/library_window.cpp @@ -21,6 +21,7 @@ #include "data_base_management.h" #include "yacreader_global.h" #include "onstart_flow_selection_dialog.h" +#include "no_libraries_widget.h" // @@ -29,10 +30,23 @@ LibraryWindow::LibraryWindow() { setupUI(); loadLibraries(); + + if(libraries.size()==0) + { + showNoLibrariesWidget(); + } + else + { + hideNoLibrariesWidget(); + } } void LibraryWindow::setupUI() { + setWindowIcon(QIcon(":/images/iconLibrary.png")); + + setUnifiedTitleAndToolBarOnMac(true); + libraryCreator = new LibraryCreator(); packageManager = new PackageManager(); @@ -195,7 +209,9 @@ void LibraryWindow::doLayout() sHorizontal->addWidget(sVertical); sHorizontal->setStretchFactor(0,0); sHorizontal->setStretchFactor(1,1); - setCentralWidget(sHorizontal); + mainWidget = new QStackedWidget(this); + mainWidget->addWidget(sHorizontal); + setCentralWidget(mainWidget); //FINAL LAYOUT------------------------------------------------------------- fullScreenToolTip = new QLabel(comicFlow); @@ -207,6 +223,12 @@ void LibraryWindow::doLayout() fullScreenToolTip->adjustSize(); comicFlow->setFocus(Qt::OtherFocusReason); + + noLibrariesWidget = new NoLibrariesWidget(); + mainWidget->addWidget(noLibrariesWidget); + + connect(noLibrariesWidget,SIGNAL(createNewLibrary()),this,SLOT(createLibrary())); + connect(noLibrariesWidget,SIGNAL(addExistingLibrary()),this,SLOT(showAddLibrary())); } void LibraryWindow::doDialogs() @@ -668,6 +690,7 @@ void LibraryWindow::loadLibrary(const QString & name) { if(libraries.size()>0) //si hay bibliotecas... { + hideNoLibrariesWidget(); QString path=libraries.value(name)+"/.yacreaderlibrary"; QDir d; //TODO change this by static methods (utils class?? with delTree for example) QString dbVersion; @@ -768,6 +791,7 @@ void LibraryWindow::loadLibrary(const QString & name) else //en caso de que no exista ninguna biblioteca se desactivan los botones pertinentes { disableAllActions(); + showNoLibrariesWidget(); } } @@ -1497,4 +1521,13 @@ QString LibraryWindow::getFolderName(const QString & libraryName, qulonglong id) void LibraryWindow::closeEvent ( QCloseEvent * event ) { settings->setValue(MAIN_WINDOW_GEOMETRY, saveGeometry()); +} + +void LibraryWindow::showNoLibrariesWidget() +{ + mainWidget->setCurrentIndex(1); +} +void LibraryWindow::hideNoLibrariesWidget() +{ + mainWidget->setCurrentIndex(0); } \ No newline at end of file diff --git a/YACReaderLibrary/library_window.h b/YACReaderLibrary/library_window.h index 55e267c8..2d8005eb 100644 --- a/YACReaderLibrary/library_window.h +++ b/YACReaderLibrary/library_window.h @@ -11,6 +11,7 @@ #include #include #include +#include #include "create_library_dialog.h" #include "add_library_dialog.h" @@ -30,6 +31,7 @@ #include "tablemodel.h" #include "treeitem.h" #include "server_config_dialog.h" +#include "no_libraries_widget.h" class LibraryWindow : public QMainWindow { @@ -79,6 +81,9 @@ private: QLabel * fullScreenToolTip; YACReaderIconProvider fip; + QStackedWidget * mainWidget; + NoLibrariesWidget * noLibrariesWidget; + bool fetching; int i; @@ -211,6 +216,8 @@ public: void showExportComicsInfo(); void showImportComicsInfo(); void asignNumbers(); + void showNoLibrariesWidget(); + void hideNoLibrariesWidget(); //server interface QMap getLibraries(){return libraries;}; diff --git a/YACReaderLibrary/no_libraries_widget.cpp b/YACReaderLibrary/no_libraries_widget.cpp new file mode 100644 index 00000000..e40b4b47 --- /dev/null +++ b/YACReaderLibrary/no_libraries_widget.cpp @@ -0,0 +1,57 @@ +#include "no_libraries_widget.h" +#include + +#include +#include +#include + +NoLibrariesWidget::NoLibrariesWidget(QWidget *parent) : + QWidget(parent) +{ + setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); + + setStyleSheet("{color:FFFFFF;}"); + + QPixmap icon(":/images/noLibrariesIcon.png"); + QLabel * iconLabel = new QLabel(); + iconLabel->setPixmap(icon); + + QPixmap line(":/images/noLibrariesLine.png"); + QLabel * lineLabel = new QLabel(); + lineLabel->setPixmap(line); + + QLabel * text = new QLabel(tr("You don't have any library yet")); + text->setStyleSheet("QLabel {font-size:25px;font-weight:bold;}"); + + QPushButton * createButton = new QPushButton(tr("create your first library")); + createButton->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred); + QPushButton * addButton = new QPushButton(tr("add an existing one")); + addButton->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred); + + QVBoxLayout * layout = new QVBoxLayout(this); + QHBoxLayout * buttonLayout = new QHBoxLayout(); + + layout->setAlignment(Qt::AlignHCenter); + + buttonLayout->addSpacing(100); + buttonLayout->addWidget(createButton); + layout->addSpacing(25); + buttonLayout->addWidget(addButton); + buttonLayout->addSpacing(100); + + layout->addStretch(); + layout->addWidget(iconLabel,0,Qt::AlignHCenter); + layout->addSpacing(10); + layout->addWidget(text,0,Qt::AlignHCenter); + layout->addSpacing(8); + layout->addWidget(lineLabel,0,Qt::AlignHCenter); + layout->addSpacing(12); + layout->addLayout(buttonLayout,0); + layout->addSpacing(150); + layout->addStretch(); + + connect(createButton,SIGNAL(clicked()),this,SIGNAL(createNewLibrary())); + connect(addButton,SIGNAL(clicked()),this,SIGNAL(addExistingLibrary())); + + +} diff --git a/YACReaderLibrary/no_libraries_widget.h b/YACReaderLibrary/no_libraries_widget.h new file mode 100644 index 00000000..0727f968 --- /dev/null +++ b/YACReaderLibrary/no_libraries_widget.h @@ -0,0 +1,19 @@ +#ifndef NO_LIBRARIES_WIDGET_H +#define NO_LIBRARIES_WIDGET_H + +#include + +class NoLibrariesWidget : public QWidget +{ + Q_OBJECT +public: + explicit NoLibrariesWidget(QWidget *parent = 0); + +signals: + void createNewLibrary(); + void addExistingLibrary(); +public slots: + +}; + +#endif // NO_LIBRARIES_WIDGET_H diff --git a/generateVS2010Projects.bat b/generateVS2010Projects.bat index b0e748cf..b815ee74 100644 --- a/generateVS2010Projects.bat +++ b/generateVS2010Projects.bat @@ -1,10 +1,10 @@ echo Setting up a Qt environment... -set QTDIR=D:\Desarrollo\Qt\4.8.3 -echo -- QTDIR set to D:\Desarrollo\Qt\4.8.3 -set PATH=D:\Desarrollo\Qt\4.8.3\bin;%PATH% -echo -- Added D:\Desarrollo\Qt\4.8.3\bin to PATH +set QTDIR=D:\Desarrollo\Qt\4.8.4 +echo -- QTDIR set to D:\Desarrollo\Qt\4.8.4 +set PATH=D:\Desarrollo\Qt\4.8.4\bin;%PATH% +echo -- Added D:\Desarrollo\Qt\4.8.4\bin to PATH set QMAKESPEC=win32-msvc2010 echo -- QMAKESPEC set to "win32-msvc2010" diff --git a/images/noLibrariesIcon.png b/images/noLibrariesIcon.png new file mode 100644 index 00000000..5f15c2c7 Binary files /dev/null and b/images/noLibrariesIcon.png differ diff --git a/images/noLibrariesLine.png b/images/noLibrariesLine.png new file mode 100644 index 00000000..18599349 Binary files /dev/null and b/images/noLibrariesLine.png differ