SVN commit 614702 by cgilles:
digikam from trunk : Starting 0.9.1 implementation ! First stage : improving the Tags View from Comments and Tags Right side bar : - Using a QToolBox widget to separate Comments/Date/Rating Widget and Tags View. - You have now more free space to enter Comments. - You have now more free space to edit pictures digiKam Tags. - The Tags view list support now Drag & Drops like everywhere (My Tags View and Tags Filter View). You can move/reorganize Tags hierarchy in this area and assign Tags to a group of pictures to drop Tags from this view to Album Icons View. CCMAIL: [hidden email] M +1 -1 Makefile.am M +54 -74 imagedescedittab.cpp M +0 -17 imagedescedittab.h AM talbumlistview.cpp [License: GPL] AM talbumlistview.h [License: GPL] --- trunk/extragear/graphics/digikam/libs/imageproperties/Makefile.am #614701:614702 @@ -25,7 +25,7 @@ # Image Properties SideBar for digiKam Main interface and Image Editor (digiKam database support). -libimagepropertiesdigikam_la_SOURCES = imagepropertiessidebar.cpp imagepropertiessidebardb.cpp \ +libimagepropertiesdigikam_la_SOURCES = imagepropertiessidebar.cpp imagepropertiessidebardb.cpp talbumlistview.cpp \ imagepropertiesmetadatatab.cpp imagepropertiescolorstab.cpp \ imagedescedittab.cpp navigatebarwidget.cpp imagepropertiestab.cpp --- trunk/extragear/graphics/digikam/libs/imageproperties/imagedescedittab.cpp #614701:614702 @@ -22,21 +22,15 @@ * ============================================================ */ // Qt includes. - -#include <qframe.h> + +#include <qhbox.h> #include <qlabel.h> -#include <qtextedit.h> -#include <qcheckbox.h> #include <qlayout.h> -#include <qgroupbox.h> -#include <qvgroupbox.h> #include <qhgroupbox.h> -#include <qlistview.h> -#include <qguardedptr.h> +#include <qvgroupbox.h> #include <qheader.h> -#include <qcursor.h> +#include <qtoolbox.h> #include <qtoolbutton.h> -#include <qpushbutton.h> #include <qiconset.h> #include <qwhatsthis.h> #include <qtooltip.h> @@ -47,6 +41,7 @@ #include <kpopupmenu.h> #include <klocale.h> #include <kurl.h> +#include <kcursor.h> #include <kapplication.h> #include <kiconloader.h> #include <kmessagebox.h> @@ -71,46 +66,23 @@ #include "ratingwidget.h" #include "imageattributeswatch.h" #include "albumthumbnailloader.h" +#include "talbumlistview.h" #include "imagedescedittab.h" #include "imagedescedittab.moc" namespace Digikam { -class TAlbumCheckListItem : public QCheckListItem +class ImageDescEditTabPriv { public: - TAlbumCheckListItem(QListView* parent, TAlbum* album) - : QCheckListItem(parent, album->title()), - m_album(album) + enum SettingsTab { - } + COMMENTSPAGE=0, + TAGSPAGE + }; - TAlbumCheckListItem(QCheckListItem* parent, TAlbum* album) - : QCheckListItem(parent, album->title(), QCheckListItem::CheckBox), - m_album(album) - { - } - - TAlbum* m_album; - -protected: - - virtual void stateChange(bool val) - { - QCheckListItem::stateChange(val); - TAlbumListView* view = dynamic_cast<TAlbumListView*>(listView()); - view->emitSignalItemStateChanged(); - } -}; - -// ------------------------------------------------------------------------ - -class ImageDescEditTabPriv -{ -public: - ImageDescEditTabPriv() { modified = false; @@ -125,11 +97,14 @@ ratingWidget = 0; navigateBar = 0; ABCMenu = 0; + toolBox = 0; } bool modified; bool ignoreImageAttributesWatch; + QToolBox *toolBox; + QToolButton *recentTagsBtn; QToolButton *tagsSearchClearBtn; @@ -154,35 +129,41 @@ : QWidget(parent, 0, Qt::WDestructiveClose) { d = new ImageDescEditTabPriv; - + QVBoxLayout *vLayout = new QVBoxLayout(this); d->navigateBar = new NavigateBarWidget(this, navBar); - QWidget *settingsArea = new QWidget(this); - QGridLayout *settingsLayout = new QGridLayout(settingsArea, 3, 1, KDialog::marginHint(), KDialog::spacingHint()); + d->toolBox = new QToolBox(this); + QWidget *propertiesBox = new QWidget(d->toolBox); + QGridLayout *settingsLayout = new QGridLayout(propertiesBox, 2, 1, + KDialog::marginHint(), KDialog::spacingHint()); - // Comments view --------------------------------------------------- + // Comments/Date/Rating view ----------------------------------- - QVGroupBox* commentsBox = new QVGroupBox(i18n("&Comments"), settingsArea); + QVGroupBox* commentsBox = new QVGroupBox(i18n("&Comments"), propertiesBox); d->commentsEdit = new KTextEdit(commentsBox); d->commentsEdit->setTextFormat(QTextEdit::PlainText); d->commentsEdit->setCheckSpellingEnabled(true); - // Date and Time view --------------------------------------------------- - - QHGroupBox* dateTimeBox = new QHGroupBox(i18n("&Date && Time"), settingsArea); + QHGroupBox* dateTimeBox = new QHGroupBox(i18n("&Date && Time"), propertiesBox); d->dateTimeEdit = new KDateTimeEdit( dateTimeBox, "datepicker"); - // Rating view -------------------------------------------------- - - QHGroupBox* ratingBox = new QHGroupBox(i18n("Rating"), settingsArea); + QHGroupBox* ratingBox = new QHGroupBox(i18n("Rating"), propertiesBox); ratingBox->layout()->setAlignment(Qt::AlignCenter); d->ratingWidget = new RatingWidget(ratingBox); - - // Tags view --------------------------------------------------- - QVGroupBox* tagsBox = new QVGroupBox(i18n("&Tags"), settingsArea); + settingsLayout->addMultiCellWidget(commentsBox, 0, 0, 0, 1); + settingsLayout->addMultiCellWidget(dateTimeBox, 1, 1, 0, 1); + settingsLayout->addMultiCellWidget(ratingBox, 2, 2, 0, 1); + settingsLayout->setRowStretch(0, 10); - QHBox* tagsSearch = new QHBox(tagsBox); + d->toolBox->insertItem(ImageDescEditTabPriv::COMMENTSPAGE, propertiesBox, + SmallIconSet("imagecomment"), i18n("Comments/Date/Rating")); + + // Tags view --------------------------------------------------- + + QWidget *tagsBox = new QWidget(d->toolBox); + QVBoxLayout *vLayout2 = new QVBoxLayout(tagsBox, KDialog::marginHint(), KDialog::spacingHint()); + QHBox* tagsSearch = new QHBox(tagsBox); tagsSearch->setSpacing(KDialog::spacingHint()); d->tagsSearchClearBtn = new QToolButton(tagsSearch); @@ -209,17 +190,23 @@ d->tagsView->setSelectionMode(QListView::Single); d->tagsView->setResizeMode(QListView::LastColumn); + vLayout2->addWidget(tagsSearch); + vLayout2->addWidget(d->tagsView); + + d->toolBox->insertItem(ImageDescEditTabPriv::TAGSPAGE, tagsBox, + kapp->iconLoader()->loadIcon("tag", KIcon::NoGroup, KIcon::SizeSmall, + KIcon::DefaultState, 0, true), i18n("Tags")); + // -------------------------------------------------- - settingsLayout->addMultiCellWidget(commentsBox, 0, 0, 0, 1); - settingsLayout->addMultiCellWidget(dateTimeBox, 1, 1, 0, 1); - settingsLayout->addMultiCellWidget(ratingBox, 2, 2, 0, 1); - settingsLayout->addMultiCellWidget(tagsBox, 3, 3, 0, 1); - settingsLayout->setRowStretch(3, 10); - vLayout->addWidget(d->navigateBar); - vLayout->addWidget(settingsArea); + vLayout->addWidget(d->toolBox); + KConfig* config = kapp->config(); + config->setGroup("Image Properties SideBar"); + d->toolBox->setCurrentIndex(config->readNumEntry("Comments And Tags Tab", + ImageDescEditTabPriv::COMMENTSPAGE)); + // -------------------------------------------------- connect(popupMenu, SIGNAL(activated(int)), @@ -318,7 +305,12 @@ ImageDescEditTab::~ImageDescEditTab() { applyAllChanges(); - + + KConfig* config = kapp->config(); + config->setGroup("Image Properties SideBar"); + config->writeEntry("Comments And Tags Tab", d->toolBox->currentIndex()); + config->sync(); + /* AlbumList tList = AlbumManager::instance()->allTAlbums(); for (AlbumList::iterator it = tList.begin(); it != tList.end(); ++it) @@ -1142,17 +1134,5 @@ } } -// ------------------------------------------------------------------------ - -TAlbumListView::TAlbumListView(QWidget* parent) - : QListView(parent) -{ -} - -void TAlbumListView::emitSignalItemStateChanged() -{ - emit signalItemStateChanged(); -} - } // NameSpace Digikam --- trunk/extragear/graphics/digikam/libs/imageproperties/imagedescedittab.h #614701:614702 @@ -28,7 +28,6 @@ #include <qwidget.h> #include <qpixmap.h> -#include <qlistview.h> // Local includes. @@ -44,23 +43,7 @@ class ImageInfo; class ImageDescEditTabPriv; -class TAlbumListView : public QListView -{ - Q_OBJECT -public: - - TAlbumListView(QWidget* parent); - - void emitSignalItemStateChanged(); - -signals: - - void signalItemStateChanged(); -}; - -// ------------------------------------------------------------------------ - class DIGIKAM_EXPORT ImageDescEditTab : public QWidget { Q_OBJECT ** trunk/extragear/graphics/digikam/libs/imageproperties/talbumlistview.cpp #property svn:eol-style + native ** trunk/extragear/graphics/digikam/libs/imageproperties/talbumlistview.h #property svn:eol-style + native _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |