[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/plasma/applets/frame
From:       Anne-Marie Mahfouf <annma () kde ! org>
Date:       2008-02-10 20:49:15
Message-ID: 1202676555.749973.20063.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 773349 by annma:

allow previews of static pictures in config dialog


 M  +21 -10    configdialog.cpp  
 M  +7 -1      configdialog.h  
 M  +2 -2      frame.cpp  


--- trunk/extragear/plasma/applets/frame/configdialog.cpp #773348:773349
@@ -21,8 +21,8 @@
 #include <KStandardDirs>
 
 #include "configdialog.h"
+#include "picture.h"
 
-
 ConfigDialog::ConfigDialog( QWidget *parent )
     : KDialog( parent )
 {
@@ -43,18 +43,16 @@
     QString monitorPath = KStandardDirs::locate("data",  \
"kcontrol/pics/monitor.png");  // Size of monitor image: 200x186
     // Geometry of "display" part of monitor image: (23,14)-[151x115]
-    qreal previewRatio = 128.0 / (101.0 * m_ratio);
-    QSize monitorSize(200, int(186 * previewRatio));
-    QRect previewRect(23, int(14 * previewRatio), 151, int(115 * previewRatio));
-    //m_preview_renderer.setSize(previewRect.size());
-    
-    ui.monitorLabel->setPixmap(QPixmap(monitorPath));//.scaled(monitorSize));
+    ui.monitorLabel->setPixmap(QPixmap(monitorPath));
     ui.monitorLabel->setWhatsThis(i18n(
         "This picture of a monitor contains a preview of "
-        "what the current settings will look like on your desktop."));
+        "the picture you currently have in your frame."));
     m_preview = new QLabel(ui.monitorLabel);
     m_preview->setScaledContents(true);
-    m_preview->setGeometry(previewRect);
+    m_preview->setGeometry(23,14,151,115);
+    m_preview->show();
+
+    connect(ui.picRequester, SIGNAL(urlSelected(const KUrl & )), this, \
SLOT(changePreview(const KUrl &)));  }
 
 ConfigDialog::~ConfigDialog()
@@ -109,4 +107,17 @@
 KUrl ConfigDialog::currentUrl() const
 {
     return ui.picRequester->url();
-}
\ No newline at end of file
+}
+
+void ConfigDialog::previewPicture(const QImage &image)
+{
+    QImage scaledImage = image.scaled(QRect(23,14,151,115).size(), \
Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation); +    \
m_preview->setPixmap(QPixmap::fromImage(scaledImage)); +}
+
+void ConfigDialog::changePreview(const KUrl &path)
+{
+    Picture myPicture;
+    previewPicture(myPicture.setPicture(path));
+}
+
--- trunk/extragear/plasma/applets/frame/configdialog.h #773348:773349
@@ -26,6 +26,7 @@
 
 class ConfigDialog : public KDialog
 {
+    Q_OBJECT
     public:
         ConfigDialog( QWidget *parent );
         ~ConfigDialog();
@@ -49,7 +50,12 @@
         Ui::config ui;
 	/// Image Preview
 	QLabel *m_preview;
-	float m_ratio;
+	/// Allow to preview each new chosen picture
+	void previewPicture(const QImage &pix);
+
+private slots:
+	void changePreview(const KUrl &);
+
 };
 
 #endif
--- trunk/extragear/plasma/applets/frame/frame.cpp #773348:773349
@@ -140,7 +140,7 @@
     }
     connect(m_configDialog->ui.removeDirButton, SIGNAL(clicked()), this, \
                SLOT(removeDir()));
     connect(m_configDialog->ui.addDirButton, SIGNAL(clicked()), this, \
                SLOT(addDir()));
-   
+    
     m_configDialog->setRoundCorners( m_roundCorners );
     m_configDialog->setShadow(m_shadow);
     m_configDialog->setShowFrame(m_frame);
@@ -152,7 +152,7 @@
     m_configDialog->ui.slideShowDirList->addItems(m_slideShowPaths);
     m_configDialog->ui.removeDirButton->setEnabled(!m_slideShowPaths.isEmpty());
     m_configDialog->ui.slideShowDelay->setTime(QTime(m_slideshowTime / 3600, \
                (m_slideshowTime / 60) % 60, m_slideshowTime % 60));
-
+    m_configDialog->previewPicture(m_picture);
     m_configDialog->show();
     m_configDialog->raise();
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic