diff options
author | Arno <am@disconnect.de> | 2011-04-30 11:43:27 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2011-04-30 11:43:27 +0200 |
commit | b02f4fef1d063f03b6e8b2b961a9049ad53d6c68 (patch) | |
tree | 72d2adb9ebacfa05084ae484ed9d50a3935f3c2c | |
parent | f0ac8500b63511a8307f332c4b86670545fc4ca6 (diff) | |
download | SheMov-b02f4fef1d063f03b6e8b2b961a9049ad53d6c68.tar.gz SheMov-b02f4fef1d063f03b6e8b2b961a9049ad53d6c68.tar.bz2 SheMov-b02f4fef1d063f03b6e8b2b961a9049ad53d6c68.zip |
PictureViewer fixes
Add an option making resizing the picture viewer to the size of
the picture configurable. It's desirable when using a tiling
window manager.
-rw-r--r-- | configurationdialog.cpp | 22 | ||||
-rw-r--r-- | configurationdialog.h | 1 | ||||
-rw-r--r-- | pictureviewer.cpp | 10 | ||||
-rw-r--r-- | pictureviewer.h | 2 | ||||
-rw-r--r-- | shemov.cpp | 1 |
5 files changed, 34 insertions, 2 deletions
diff --git a/configurationdialog.cpp b/configurationdialog.cpp index e0bf2c5..c23569c 100644 --- a/configurationdialog.cpp +++ b/configurationdialog.cpp @@ -181,8 +181,24 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : Q mTab->addTab(mMovieConfig, tr("Movies")); // picture viewer + QGroupBox *picViewerBox = new QGroupBox(tr("Picture viewer options (external)")); + QHBoxLayout *picViewerBoxLayout = new QHBoxLayout; mPicConfig = new ProgramConfigurator("pictureviewer", "Picture viewer"); - mTab->addTab(mPicConfig, tr("Pictures")); + picViewerBoxLayout->addWidget(mPicConfig); + picViewerBox->setLayout(picViewerBoxLayout); + QGroupBox *miscPicBox = new QGroupBox(tr("Misc. options (internal)")); + QVBoxLayout *miscPicBoxLayout = new QVBoxLayout; + mResizePicViewer = new QCheckBox(tr("Resize picture viewer to image size")); + miscPicBoxLayout->addWidget(mResizePicViewer); + miscPicBox->setLayout(miscPicBoxLayout); + + // picture viewer - assemble + QVBoxLayout *picViewerLayout = new QVBoxLayout; + picViewerLayout->addWidget(picViewerBox); + picViewerLayout->addWidget(miscPicBox); + QWidget *picViewerWidget = new QWidget; + picViewerWidget->setLayout(picViewerLayout); + mTab->addTab(picViewerWidget, tr("Pictures")); //database tab QWidget *databaseWidget = new QWidget; @@ -353,6 +369,9 @@ void ConfigurationDialog::readSettings(){ mIconizeCovers->setChecked(s.value("ui/iconizecovers", false).toBool()); mCursorOffset->setValue(s.value("ui/cursoroffset", SmGlobals::instance()->cursorSize().height()).toInt()); + //read picture viewer + mResizePicViewer->setChecked(s.value("ui/resizepicviewer", false).toBool()); + //read paths mArchiveDir->setText(s.value("paths/archivedir").toString()); mBurnDir->setText(s.value("paths/burn").toString()); @@ -439,6 +458,7 @@ void ConfigurationDialog::writeSettings(){ //write pics mPicConfig->writeSettings(); + s.setValue("ui/resizepicviewer", (mResizePicViewer->checkState() == Qt::Checked)); //write colors s.setValue("ui/seencolor", mColors.value(mSeenColor)); diff --git a/configurationdialog.h b/configurationdialog.h index f7e2b4b..a13fb65 100644 --- a/configurationdialog.h +++ b/configurationdialog.h @@ -66,6 +66,7 @@ class ConfigurationDialog : public QDialog { QCheckBox *mHoverMovies; QCheckBox *mAutoAddCovers; QCheckBox *mIconizeCovers; + QCheckBox *mResizePicViewer; QSpinBox *mHoverOpacity; QSpinBox *mCursorOffset; QLabel *mSeenColor; diff --git a/pictureviewer.cpp b/pictureviewer.cpp index 502c544..0014b60 100644 --- a/pictureviewer.cpp +++ b/pictureviewer.cpp @@ -13,6 +13,7 @@ #include <QApplication> #include <QDir> #include <QWheelEvent> +#include <QSettings> #include <algorithm> @@ -67,7 +68,9 @@ void PictureViewer::showPic(const QString &path, bool enableDirEntries){ img = img.scaled(maxSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); } - resize(img.size() + QSize(20, 20)); + if(mResize){ + resize(img.size() + QSize(20, 20)); + } setSceneRect(viewport()->rect()); setGradient(img.toImage()); QGraphicsPixmapItem *item = new QGraphicsPixmapItem(img); @@ -127,6 +130,11 @@ void PictureViewer::previous(){ } } +void PictureViewer::readSettings(){ + QSettings s; + mResize = s.value("ui/resizepicviewer").toBool(); +} + void PictureViewer::wheelEvent(QWheelEvent *event){ int steps = event->delta() / 8 / 15; if(steps < 0){ diff --git a/pictureviewer.h b/pictureviewer.h index d4fba4c..adfa537 100644 --- a/pictureviewer.h +++ b/pictureviewer.h @@ -26,6 +26,7 @@ class PictureViewer : public QGraphicsView { void showPic(const QString &path, bool enableDirEntries = true); void next(); void previous(); + void readSettings(); protected: void wheelEvent(QWheelEvent *event); @@ -41,6 +42,7 @@ class PictureViewer : public QGraphicsView { QString mCurrentDir; QFileInfoList mDirEntries; QFileInfoList::const_iterator mCurrentEntry; + bool mResize; }; class PictureviewerInfoItem : public QGraphicsItem { @@ -100,6 +100,7 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla connect(mFSWidget->dirModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(setFsFree())); connect(this, SIGNAL(configChanged()), mFSWidget->fileView(), SLOT(readConfig())); connect(this, SIGNAL(configChanged()), mATree->seriesWidget(), SLOT(readSettings())); + connect(this, SIGNAL(configChanged()), SmGlobals::instance()->pictureViewer(), SLOT(readSettings())); connect(mFSWidget, SIGNAL(mounted(bool)), this, SLOT(checkMount(bool))); QWidget *centralWidget = new QWidget; |