[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/plasma/applets
From: Aaron J. Seigo <aseigo () kde ! org>
Date: 2008-06-02 20:55:20
Message-ID: 1212440120.360848.15927.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 815934 by aseigo:
show the date for the timezone the clock is set to when pulling up the calendar; make \
analog clock use the standard calendar facility as well
M +2 -1 analog-clock/CMakeLists.txt
M +39 -1 analog-clock/clock.cpp
M +9 -5 analog-clock/clock.h
M +2 -2 digital-clock/clock.cpp
--- trunk/KDE/kdebase/workspace/plasma/applets/analog-clock/CMakeLists.txt \
#815933:815934 @@ -4,7 +4,8 @@
kde4_add_ui_files(clock_SRCS clockConfig.ui )
kde4_add_plugin(plasma_applet_clock ${clock_SRCS})
-target_link_libraries(plasma_applet_clock plasma ${KDE4_KIO_LIBS})
+include_directories( ../libplasmaclock/ \
${CMAKE_CURRENT_BINARY_DIR}/../libplasmaclock/) \
+target_link_libraries(plasma_applet_clock plasma plasmaclock ${KDE4_KIO_LIBS})
install(TARGETS plasma_applet_clock DESTINATION ${PLUGIN_INSTALL_DIR})
install(FILES plasma-applet-analogclock.desktop DESTINATION ${SERVICES_INSTALL_DIR})
--- trunk/KDE/kdebase/workspace/plasma/applets/analog-clock/clock.cpp #815933:815934
@@ -46,6 +46,7 @@
#include <KTimeZoneWidget>
#include <KDialog>
+#include <plasma/dialog.h>
#include <plasma/svg.h>
#include <plasma/theme.h>
@@ -53,7 +54,8 @@
: Plasma::Containment(parent, args),
m_showTimeString(false),
m_showSecondHand(false),
- m_secondHandUpdateTimer(0)
+ m_secondHandUpdateTimer(0),
+ m_calendar(0)
{
setHasConfigurationInterface(true);
resize(125, 125);
@@ -315,4 +317,40 @@
m_theme->paint(p, rect, "Glass");
}
+void Clock::mousePressEvent(QGraphicsSceneMouseEvent *event)
+{
+ if (event->buttons() == Qt::LeftButton) {
+ showCalendar(event);
+ } else {
+ event->ignore();
+ }
+}
+
+void Clock::showCalendar(QGraphicsSceneMouseEvent *event)
+{
+ Q_UNUSED(event);
+
+ if (m_calendar == 0) {
+ m_calendar = new Plasma::Dialog();
+ //m_calendar->setStyleSheet("{ border : 0px }"); // FIXME: crashes
+ QVBoxLayout *layout = new QVBoxLayout();
+ layout->setSpacing(0);
+ layout->setMargin(0);
+
+ m_calendarUi.setupUi(m_calendar);
+ m_calendar->setLayout(layout);
+ m_calendar->setWindowFlags(Qt::Popup);
+ m_calendar->adjustSize();
+ }
+
+ if (m_calendar->isVisible()) {
+ m_calendar->hide();
+ } else {
+ Plasma::DataEngine::Data data = dataEngine("time")->query(m_timezone);
+ m_calendarUi.kdatepicker->setDate(data["Date"].toDate());
+ m_calendar->move(popupPosition(m_calendar->sizeHint()));
+ m_calendar->show();
+ }
+}
+
#include "clock.moc"
--- trunk/KDE/kdebase/workspace/plasma/applets/analog-clock/clock.h #815933:815934
@@ -35,12 +35,14 @@
#include <plasma/containment.h>
#include <plasma/dataengine.h>
#include "ui_clockConfig.h"
+#include "ui_calendar.h"
class QTimer;
namespace Plasma
{
class Svg;
+ class Dialog;
}
class Clock : public Plasma::Containment
@@ -59,15 +61,15 @@
public slots:
void dataUpdated(const QString &name, const Plasma::DataEngine::Data &data);
+ protected:
+ void createConfigurationInterface(KConfigDialog *parent);
+ void mousePressEvent(QGraphicsSceneMouseEvent *event);
+
protected slots:
-// void acceptedTimeStringState(bool);
void configAccepted();
void moveSecondHand();
+ void showCalendar(QGraphicsSceneMouseEvent *event);
- protected:
- void createConfigurationInterface(KConfigDialog *parent);
-
-
private:
void drawHand(QPainter *p, qreal rotation, const QString &handName);
void connectToEngine();
@@ -83,6 +85,8 @@
int m_animationStart;
/// Designer Config file
Ui::clockConfig ui;
+ Plasma::Dialog *m_calendar;
+ Ui::calendar m_calendarUi;
};
K_EXPORT_PLASMA_APPLET(clock, Clock)
--- trunk/KDE/kdebase/workspace/plasma/applets/digital-clock/clock.cpp #815933:815934
@@ -176,8 +176,8 @@
if (m_calendar->isVisible()) {
m_calendar->hide();
} else {
- kDebug();
- m_calendarUi.kdatepicker->setDate(QDate::currentDate());
+ Plasma::DataEngine::Data data = dataEngine("time")->query(m_timezone);
+ m_calendarUi.kdatepicker->setDate(data["Date"].toDate());
m_calendar->move(popupPosition(m_calendar->sizeHint()));
m_calendar->show();
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic