void GalleryWindow::connectSignals() { connect(d->albumView, SIGNAL(itemSelectionChanged()), this , SLOT(slotAlbumSelected()) ); connect(d->newAlbumBtn, SIGNAL(clicked()), this, SLOT(slotNewAlbum())); connect(d->addPhotoBtn, SIGNAL(clicked()), this, SLOT(slotAddPhoto())); connect(d->resizeCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotEnableSpinBox(int))); connect(d->logo, SIGNAL(leftClickedUrl(QString)), this, SLOT(slotProcessUrl(QString))); connect(m_progressDlg, SIGNAL(canceled()), this, SLOT(slotAddPhotoCancel())); connect(m_talker, SIGNAL(signalError(QString)), this, SLOT(slotError(QString))); connect(m_talker, SIGNAL(signalBusy(bool)), this, SLOT(slotBusy(bool))); connect(m_talker, SIGNAL(signalLoginFailed(QString)), this, SLOT(slotLoginFailed(QString))); connect(m_talker, SIGNAL(signalAlbums(QList<GAlbum>)), this, SLOT(slotAlbums(QList<GAlbum>))); connect(m_talker, SIGNAL(signalPhotos(QList<GPhoto>)), this, SLOT(slotPhotos(QList<GPhoto>))); connect(m_talker, SIGNAL(signalAddPhotoSucceeded()), this, SLOT(slotAddPhotoSucceeded())); connect(m_talker, SIGNAL(signalAddPhotoFailed(QString)), this, SLOT(slotAddPhotoFailed(QString))); }
AlbumSelectWidget::AlbumSelectWidget(QWidget* const parent, PAlbum* const albumToSelect) : QWidget(parent), d(new Private) { setObjectName(QLatin1String("AlbumSelectWidget")); d->albumModificationHelper = new AlbumModificationHelper(this, this); // TODO let this class implement StateSavingObject KConfigGroup group = KSharedConfig::openConfig()->group(objectName()); QGridLayout* const grid = new QGridLayout(this); d->albumModel = new AlbumModel(AbstractAlbumModel::IgnoreRootAlbum, this); d->albumTreeView = new AlbumSelectTreeView(d->albumModel, d->albumModificationHelper, this); d->albumTreeView->setDragEnabled(false); d->albumTreeView->setDropIndicatorShown(false); d->albumTreeView->setAcceptDrops(false); d->albumTreeView->setSelectAlbumOnClick(false); d->albumTreeView->setSelectOnContextMenu(false); d->albumTreeView->setEnableContextMenu(true); d->albumTreeView->setSortingEnabled(true); d->albumTreeView->setConfigGroup(group); d->albumTreeView->setEntryPrefix(QLatin1String("AlbumTreeView")); d->searchBar = new SearchTextBar(this, QLatin1String("AlbumSelectWidgetSearchBar")); d->searchBar->setModel(d->albumModel, AbstractAlbumModel::AlbumIdRole, AbstractAlbumModel::AlbumTitleRole); d->searchBar->setFilterModel(d->albumTreeView->albumFilterModel()); d->searchBar->setConfigGroup(group); d->albumTreeView->setEntryPrefix(QLatin1String("AlbumTreeView")); d->newAlbumBtn = new QPushButton(i18n("&New Album"), this); d->newAlbumBtn->setToolTip(i18n("Create new album")); d->newAlbumBtn->setIcon(QIcon::fromTheme(QLatin1String("folder-new"))); grid->addWidget(d->albumTreeView, 0, 0, 1, 2); grid->addWidget(d->searchBar, 1, 0, 1, 1); grid->addWidget(d->newAlbumBtn, 1, 1, 1, 1); grid->setRowStretch(0, 10); grid->setContentsMargins(QMargins()); grid->setSpacing(QApplication::style()->pixelMetric(QStyle::PM_DefaultLayoutSpacing)); // ------------------------------------------------------------------------------------ PAlbum* select = albumToSelect; if (!select) { select = AlbumManager::instance()->currentPAlbum(); } d->albumTreeView->setCurrentAlbums(QList<Album*>() << select, false); // ------------------------------------------------------------------------------------ connect(d->albumTreeView, SIGNAL(currentAlbumChanged(Album*)), this, SIGNAL(itemSelectionChanged())); connect(AlbumManager::instance(), SIGNAL(signalAlbumRenamed(Album*)), this, SLOT(slotAlbumRenamed(Album*))); connect(d->newAlbumBtn, SIGNAL(clicked()), d->albumTreeView, SLOT(slotNewAlbum())); d->albumTreeView->loadState(); d->searchBar->loadState(); }