[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdepim/kontact/plugins/summary
From: Allen Winter <winter () kde ! org>
Date: 2008-07-07 19:08:32
Message-ID: 1215457712.980563.14663.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 829175 by winterz:
Fix LtoR vs. RtoL drag'n drop in summary view
BUGS: 161426
M +71 -4 summaryview_part.cpp
M +2 -0 summaryview_part.h
--- trunk/KDE/kdepim/kontact/plugins/summary/summaryview_part.cpp #829174:829175
@@ -4,6 +4,7 @@
Copyright (C) 2003 Sven Lüppken <sven@kde.org>
Copyright (C) 2003 Tobias König <tokoe@kde.org>
Copyright (C) 2003 Daniel Molkentin <molkentin@kde.org>
+ Copyright (C) 2008 Allen Winter <winter@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -35,7 +36,6 @@
#include <kactioncollection.h>
#include <kconfig.h>
#include <kdbusservicestarter.h>
-#include <kdebug.h>
#include <kdialog.h>
#include <kcomponentdata.h>
#include <kglobal.h>
@@ -49,6 +49,7 @@
#include <kparts/componentfactory.h>
#include <kparts/event.h>
+#include <QApplication>
#include <QLabel>
#include <QLayout>
#include <QTimer>
@@ -94,7 +95,6 @@
bool SummaryViewPart::openFile()
{
- kDebug();
return true;
}
@@ -253,12 +253,21 @@
return;
}
} else {
- if ( mLeftColumn->indexOf( target ) == -1 && mRightColumn->indexOf( target ) == -1 ||
- mLeftColumn->indexOf( widget ) == -1 && mRightColumn->indexOf( widget ) == -1 ) {
+ if ( ( mLeftColumn->indexOf( target ) == -1 && mRightColumn->indexOf( target ) == -1 ) ||
+ ( mLeftColumn->indexOf( widget ) == -1 && mRightColumn->indexOf( widget ) == -1 ) ) {
return;
}
}
+ if ( !QApplication::isRightToLeft() ) {
+ drawLtoR( target, widget, alignment );
+ } else {
+ drawRtoL( target, widget, alignment );
+ }
+}
+
+void SummaryViewPart::drawLtoR( QWidget *target, QWidget *widget, int alignment )
+{
if ( mLeftColumn->indexOf( widget ) != -1 ) {
mLeftColumn->removeWidget( widget );
mLeftColumnSummaries.removeAll( widgetName( widget ) );
@@ -315,6 +324,64 @@
mFrame->updateGeometry();
}
+void SummaryViewPart::drawRtoL( QWidget *target, QWidget *widget, int alignment )
+{
+ if ( mRightColumn->indexOf( widget ) != -1 ) {
+ mRightColumn->removeWidget( widget );
+ mRightColumnSummaries.removeAll( widgetName( widget ) );
+ } else if ( mLeftColumn->indexOf( widget ) != -1 ) {
+ mLeftColumn->removeWidget( widget );
+ mLeftColumnSummaries.removeAll( widgetName( widget ) );
+ }
+
+ if ( target == mFrame ) {
+ int pos = 0;
+
+ if ( alignment & Qt::AlignTop ) {
+ pos = 0;
+ }
+
+ if ( alignment & Qt::AlignLeft ) {
+ if ( alignment & Qt::AlignBottom ) {
+ pos = mRightColumnSummaries.count();
+ }
+
+ mRightColumn->insertWidget( pos, widget );
+ mRightColumnSummaries.insert( pos, widgetName( widget ) );
+ } else {
+ if ( alignment & Qt::AlignBottom ) {
+ pos = mLeftColumnSummaries.count();
+ }
+
+ mLeftColumn->insertWidget( pos, widget );
+ mLeftColumnSummaries.insert( pos, widgetName( widget ) );
+ }
+
+ mFrame->updateGeometry();
+ return;
+ }
+
+ int targetPos = mRightColumn->indexOf( target );
+ if ( targetPos != -1 ) {
+ if ( alignment == Qt::AlignBottom ) {
+ targetPos++;
+ }
+
+ mRightColumn->insertWidget( targetPos, widget );
+ mRightColumnSummaries.insert( targetPos, widgetName( widget ) );
+ } else {
+ targetPos = mLeftColumn->indexOf( target );
+
+ if ( alignment == Qt::AlignBottom ) {
+ targetPos++;
+ }
+
+ mLeftColumn->insertWidget( targetPos, widget );
+ mLeftColumnSummaries.insert( targetPos, widgetName( widget ) );
+ }
+ mFrame->updateGeometry();
+}
+
void SummaryViewPart::slotTextChanged()
{
emit textChanged( i18n( "What's next?" ) );
--- trunk/KDE/kdepim/kontact/plugins/summary/summaryview_part.h #829174:829175
@@ -80,6 +80,8 @@
QString widgetName( QWidget * ) const;
QStringList configModules() const;
+ void drawLtoR( QWidget *target, QWidget *widget, int alignment );
+ void drawRtoL( QWidget *target, QWidget *widget, int alignment );
QMap<QString, Kontact::Summary*> mSummaries;
Kontact::Core *mCore;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic