From fc75b7cd788d5afd973bf2cc6e7af15050c5de00 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Mon, 11 Jan 2010 10:52:54 +0000 Subject: improved cover manager git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1497 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/General/covermanager/covermanager.cpp | 6 +- src/plugins/General/covermanager/covermanager.h | 2 +- src/plugins/General/covermanager/coverwidget.cpp | 67 +++++++++++++++++++++- src/plugins/General/covermanager/coverwidget.h | 17 ++++-- .../translations/covermanager_plugin_cs.ts | 67 +++++++++++++++++++++- .../translations/covermanager_plugin_de.ts | 67 +++++++++++++++++++++- .../translations/covermanager_plugin_it.ts | 67 +++++++++++++++++++++- .../translations/covermanager_plugin_lt.ts | 67 +++++++++++++++++++++- .../translations/covermanager_plugin_pl.ts | 67 +++++++++++++++++++++- .../translations/covermanager_plugin_ru.ts | 67 +++++++++++++++++++++- .../translations/covermanager_plugin_tr.ts | 67 +++++++++++++++++++++- .../translations/covermanager_plugin_uk_UA.ts | 67 +++++++++++++++++++++- .../translations/covermanager_plugin_zh_CN.ts | 67 +++++++++++++++++++++- .../translations/covermanager_plugin_zh_TW.ts | 67 +++++++++++++++++++++- 14 files changed, 732 insertions(+), 30 deletions(-) (limited to 'src/plugins/General/covermanager') diff --git a/src/plugins/General/covermanager/covermanager.cpp b/src/plugins/General/covermanager/covermanager.cpp index be79ef386..557a4b5af 100644 --- a/src/plugins/General/covermanager/covermanager.cpp +++ b/src/plugins/General/covermanager/covermanager.cpp @@ -20,6 +20,7 @@ #include #include +#include #include #include #include @@ -44,8 +45,11 @@ void CoverManager::showWindow() if (!items.isEmpty()) { CoverWidget *w = new CoverWidget(qApp->activeWindow ()); - w->setFixedSize(400,400); QPixmap pix = MetaDataManager::instance()->getCover(items.at(0)->url()); + if(pix.isNull()) + { + return; + } w->setPixmap(pix); MetaDataFormatter formatter("%p%if(%p&%t, - ,)%if(%t,%t,%f)"); w->setWindowTitle(formatter.parse(items.at(0)->metaData())); diff --git a/src/plugins/General/covermanager/covermanager.h b/src/plugins/General/covermanager/covermanager.h index 58ad35634..a235faa54 100644 --- a/src/plugins/General/covermanager/covermanager.h +++ b/src/plugins/General/covermanager/covermanager.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Ilya Kotov * + * Copyright (C) 2009-2010 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/plugins/General/covermanager/coverwidget.cpp b/src/plugins/General/covermanager/coverwidget.cpp index 56f2b0436..f6fd62b91 100644 --- a/src/plugins/General/covermanager/coverwidget.cpp +++ b/src/plugins/General/covermanager/coverwidget.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Ilya Kotov * + * Copyright (C) 2009-2010 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -19,8 +19,13 @@ ***************************************************************************/ #include #include +#include #include - +#include +#include +#include +#include +#include #include "coverwidget.h" CoverWidget::CoverWidget(QWidget *parent) @@ -28,6 +33,32 @@ CoverWidget::CoverWidget(QWidget *parent) { setWindowFlags(Qt::Window); setAttribute(Qt::WA_DeleteOnClose, TRUE); + m_menu = new QMenu(this); + m_menu->addAction(tr("&Save As..."), this, SLOT(saveAs()), tr("Ctrl+S")); + QMenu *sizeMenu = m_menu->addMenu(tr("Size")); + QActionGroup *sizeGroup = new QActionGroup(this); + sizeGroup->addAction(tr("Actual Size"))->setData(0); + sizeGroup->addAction(tr("128x128"))->setData(128); + sizeGroup->addAction(tr("256x256"))->setData(256); + sizeGroup->addAction(tr("512x512"))->setData(512); + sizeGroup->addAction(tr("1024x1024"))->setData(1024); + sizeMenu->addActions(sizeGroup->actions()); + connect(sizeMenu, SIGNAL(triggered (QAction *)), SLOT(processResizeAction(QAction *))); + m_menu->addAction(tr("&Close"), this, SLOT(close()), tr("Alt+F4")); + addActions(m_menu->actions()); + m_size = 0; + //settings + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + m_size = settings.value("CoverManager/size", 0).toInt(); + foreach(QAction *a, sizeMenu->actions ()) + { + a->setCheckable(TRUE); + if(a->data().toInt() == m_size) + { + a->setChecked(TRUE); + processResizeAction(a); + } + } } CoverWidget::~CoverWidget() @@ -36,12 +67,42 @@ CoverWidget::~CoverWidget() void CoverWidget::setPixmap(const QPixmap &pixmap) { m_pixmap = pixmap; + if(m_size == 0) + resize(m_pixmap.size()); update(); } -void CoverWidget::paintEvent (QPaintEvent *p) +void CoverWidget::paintEvent(QPaintEvent *p) { QPainter paint(this); if(!m_pixmap.isNull()) paint.drawPixmap(0,0, m_pixmap.scaled(p->rect().size())); } + +void CoverWidget::mousePressEvent(QMouseEvent *e) +{ + if(e->button() == Qt::RightButton) + m_menu->exec(e->globalPos()); +} + +void CoverWidget::saveAs() +{ + QString path = FileDialog::getSaveFileName(this, tr("Save Cover As"), + QDir::homePath() + "/cover.jpg", + tr("Images") +" (*.png *.jpg)"); + + if (!path.isEmpty()) + m_pixmap.save(path); +} + +void CoverWidget::processResizeAction(QAction *action) +{ + m_size = action->data().toInt(); + if(m_size == 0) + resize(m_pixmap.size()); + else + resize(m_size, m_size); + update(); + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + settings.setValue("CoverManager/size", m_size); +} diff --git a/src/plugins/General/covermanager/coverwidget.h b/src/plugins/General/covermanager/coverwidget.h index b06e66f7e..e8a71a91c 100644 --- a/src/plugins/General/covermanager/coverwidget.h +++ b/src/plugins/General/covermanager/coverwidget.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Ilya Kotov * + * Copyright (C) 2009-2010 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -23,6 +23,9 @@ #include #include +class QMenu; +class QMouseEvent; + /** @author Ilya Kotov */ @@ -39,12 +42,16 @@ public: protected: void paintEvent (QPaintEvent *event); + void mousePressEvent (QMouseEvent * event); -private: - QPixmap m_pixmap; - - +private slots: + void saveAs(); + void processResizeAction(QAction *action); +private: + QPixmap m_pixmap; + QMenu *m_menu; + int m_size; }; #endif diff --git a/src/plugins/General/covermanager/translations/covermanager_plugin_cs.ts b/src/plugins/General/covermanager/translations/covermanager_plugin_cs.ts index 18994df11..4080d7b0b 100644 --- a/src/plugins/General/covermanager/translations/covermanager_plugin_cs.ts +++ b/src/plugins/General/covermanager/translations/covermanager_plugin_cs.ts @@ -4,12 +4,12 @@ CoverManager - + Show Cover - + Ctrl+M @@ -37,4 +37,67 @@ + + CoverWidget + + + &Save As... + + + + + Ctrl+S + + + + + Size + + + + + Actual Size + + + + + 128x128 + + + + + 256x256 + + + + + 512x512 + + + + + 1024x1024 + + + + + &Close + + + + + Alt+F4 + + + + + Save Cover As + + + + + Images + + + diff --git a/src/plugins/General/covermanager/translations/covermanager_plugin_de.ts b/src/plugins/General/covermanager/translations/covermanager_plugin_de.ts index 576ab7bed..619255e13 100644 --- a/src/plugins/General/covermanager/translations/covermanager_plugin_de.ts +++ b/src/plugins/General/covermanager/translations/covermanager_plugin_de.ts @@ -4,12 +4,12 @@ CoverManager - + Show Cover Cover anzeigen - + Ctrl+M Strg+M @@ -37,4 +37,67 @@ Autor: Ilya Kotov <forkotov02@hotmail.ru> + + CoverWidget + + + &Save As... + + + + + Ctrl+S + + + + + Size + + + + + Actual Size + + + + + 128x128 + + + + + 256x256 + + + + + 512x512 + + + + + 1024x1024 + + + + + &Close + + + + + Alt+F4 + + + + + Save Cover As + + + + + Images + + + diff --git a/src/plugins/General/covermanager/translations/covermanager_plugin_it.ts b/src/plugins/General/covermanager/translations/covermanager_plugin_it.ts index 9b1b4fb29..20f0ef276 100644 --- a/src/plugins/General/covermanager/translations/covermanager_plugin_it.ts +++ b/src/plugins/General/covermanager/translations/covermanager_plugin_it.ts @@ -4,12 +4,12 @@ CoverManager - + Show Cover Mostra Copertina - + Ctrl+M Ctrl+M @@ -37,4 +37,67 @@ Autori: Ilya Kotov <forkotov02@hotmail.ru> + + CoverWidget + + + &Save As... + + + + + Ctrl+S + + + + + Size + + + + + Actual Size + + + + + 128x128 + + + + + 256x256 + + + + + 512x512 + + + + + 1024x1024 + + + + + &Close + + + + + Alt+F4 + + + + + Save Cover As + + + + + Images + + + diff --git a/src/plugins/General/covermanager/translations/covermanager_plugin_lt.ts b/src/plugins/General/covermanager/translations/covermanager_plugin_lt.ts index 4b6df1893..0566f93d6 100644 --- a/src/plugins/General/covermanager/translations/covermanager_plugin_lt.ts +++ b/src/plugins/General/covermanager/translations/covermanager_plugin_lt.ts @@ -4,12 +4,12 @@ CoverManager - + Show Cover Rodyti viršelį - + Ctrl+M Ctrl+M @@ -37,4 +37,67 @@ Sukūrė: Ilya Kotov <forkotov02@hotmail.ru> + + CoverWidget + + + &Save As... + + + + + Ctrl+S + + + + + Size + + + + + Actual Size + + + + + 128x128 + + + + + 256x256 + + + + + 512x512 + + + + + 1024x1024 + + + + + &Close + + + + + Alt+F4 + + + + + Save Cover As + + + + + Images + + + diff --git a/src/plugins/General/covermanager/translations/covermanager_plugin_pl.ts b/src/plugins/General/covermanager/translations/covermanager_plugin_pl.ts index 981fa5d22..81922e223 100644 --- a/src/plugins/General/covermanager/translations/covermanager_plugin_pl.ts +++ b/src/plugins/General/covermanager/translations/covermanager_plugin_pl.ts @@ -4,12 +4,12 @@ CoverManager - + Show Cover Pokaż okładkę - + Ctrl+M @@ -37,4 +37,67 @@ Napisana przez: Ilya Kotov <forkotov02@hotmail.ru> + + CoverWidget + + + &Save As... + + + + + Ctrl+S + + + + + Size + + + + + Actual Size + + + + + 128x128 + + + + + 256x256 + + + + + 512x512 + + + + + 1024x1024 + + + + + &Close + + + + + Alt+F4 + + + + + Save Cover As + + + + + Images + + + diff --git a/src/plugins/General/covermanager/translations/covermanager_plugin_ru.ts b/src/plugins/General/covermanager/translations/covermanager_plugin_ru.ts index 748c73dd3..5c44f7543 100644 --- a/src/plugins/General/covermanager/translations/covermanager_plugin_ru.ts +++ b/src/plugins/General/covermanager/translations/covermanager_plugin_ru.ts @@ -4,12 +4,12 @@ CoverManager - + Show Cover Показать обложку - + Ctrl+M @@ -37,4 +37,67 @@ Разработчик: Илья Котов <forkotov02@hotmail.ru> + + CoverWidget + + + &Save As... + &Сохранить как... + + + + Ctrl+S + + + + + Size + Размер + + + + Actual Size + Фактический размер + + + + 128x128 + + + + + 256x256 + + + + + 512x512 + + + + + 1024x1024 + + + + + &Close + &Закрыть + + + + Alt+F4 + + + + + Save Cover As + Сохранить обложку как + + + + Images + Изображения + + diff --git a/src/plugins/General/covermanager/translations/covermanager_plugin_tr.ts b/src/plugins/General/covermanager/translations/covermanager_plugin_tr.ts index 18994df11..4080d7b0b 100644 --- a/src/plugins/General/covermanager/translations/covermanager_plugin_tr.ts +++ b/src/plugins/General/covermanager/translations/covermanager_plugin_tr.ts @@ -4,12 +4,12 @@ CoverManager - + Show Cover - + Ctrl+M @@ -37,4 +37,67 @@ + + CoverWidget + + + &Save As... + + + + + Ctrl+S + + + + + Size + + + + + Actual Size + + + + + 128x128 + + + + + 256x256 + + + + + 512x512 + + + + + 1024x1024 + + + + + &Close + + + + + Alt+F4 + + + + + Save Cover As + + + + + Images + + + diff --git a/src/plugins/General/covermanager/translations/covermanager_plugin_uk_UA.ts b/src/plugins/General/covermanager/translations/covermanager_plugin_uk_UA.ts index 1aaa2482c..67e8b55c9 100644 --- a/src/plugins/General/covermanager/translations/covermanager_plugin_uk_UA.ts +++ b/src/plugins/General/covermanager/translations/covermanager_plugin_uk_UA.ts @@ -4,12 +4,12 @@ CoverManager - + Show Cover Показати обкладинку - + Ctrl+M @@ -37,4 +37,67 @@ Розробник: Ілля Котов <forkotov02@hotmail.ru> + + CoverWidget + + + &Save As... + + + + + Ctrl+S + + + + + Size + + + + + Actual Size + + + + + 128x128 + + + + + 256x256 + + + + + 512x512 + + + + + 1024x1024 + + + + + &Close + + + + + Alt+F4 + + + + + Save Cover As + + + + + Images + + + diff --git a/src/plugins/General/covermanager/translations/covermanager_plugin_zh_CN.ts b/src/plugins/General/covermanager/translations/covermanager_plugin_zh_CN.ts index 18994df11..4080d7b0b 100644 --- a/src/plugins/General/covermanager/translations/covermanager_plugin_zh_CN.ts +++ b/src/plugins/General/covermanager/translations/covermanager_plugin_zh_CN.ts @@ -4,12 +4,12 @@ CoverManager - + Show Cover - + Ctrl+M @@ -37,4 +37,67 @@ + + CoverWidget + + + &Save As... + + + + + Ctrl+S + + + + + Size + + + + + Actual Size + + + + + 128x128 + + + + + 256x256 + + + + + 512x512 + + + + + 1024x1024 + + + + + &Close + + + + + Alt+F4 + + + + + Save Cover As + + + + + Images + + + diff --git a/src/plugins/General/covermanager/translations/covermanager_plugin_zh_TW.ts b/src/plugins/General/covermanager/translations/covermanager_plugin_zh_TW.ts index 18994df11..4080d7b0b 100644 --- a/src/plugins/General/covermanager/translations/covermanager_plugin_zh_TW.ts +++ b/src/plugins/General/covermanager/translations/covermanager_plugin_zh_TW.ts @@ -4,12 +4,12 @@ CoverManager - + Show Cover - + Ctrl+M @@ -37,4 +37,67 @@ + + CoverWidget + + + &Save As... + + + + + Ctrl+S + + + + + Size + + + + + Actual Size + + + + + 128x128 + + + + + 256x256 + + + + + 512x512 + + + + + 1024x1024 + + + + + &Close + + + + + Alt+F4 + + + + + Save Cover As + + + + + Images + + + -- cgit v1.2.3-13-gbd6f