void BookmarkList::dropEvent(QDropEvent *event) { const QMimeData* data = event->mimeData(); if(data->hasUrls()) { //TODO: Add insert to the dropped row, except row 0 QStandardItemModel* mod = (QStandardItemModel*)model(); QString path = data->urls()[0].path(); QFileInfo f(path); if(mod) { QList<QStandardItem*> items = mod->findItems(f.fileName()); if(f.isDir() && items.isEmpty()) { QStandardItem *it = new QStandardItem(); it->setText(f.fileName()); it->setData(path); #if QT_VERSION >= 0x040600 // Todo: Use a "favorites folder" icon instead it->setIcon(*globalIcon); #else it->setIcon(QIcon(":/images/icons/clip-folder-bookmark.png")); #endif it->setDropEnabled(true); mod->appendRow(it); emit bookmarkAdded(); } } } event->acceptProposedAction(); }
BookmarksToolbar::BookmarksToolbar(QupZilla* mainClass, QWidget* parent) : QWidget(parent) , p_QupZilla(mainClass) , m_bookmarksModel(mApp->bookmarksModel()) , m_historyModel(mApp->history()) { setObjectName("bookmarksbar"); m_layout = new QHBoxLayout(); m_layout->setContentsMargins(9, 3, 9, 3); m_layout->setSpacing(0); setLayout(m_layout); setContextMenuPolicy(Qt::CustomContextMenu); connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(customContextMenuRequested(QPoint))); connect(m_bookmarksModel, SIGNAL(bookmarkAdded(BookmarksModel::Bookmark)), this, SLOT(addBookmark(BookmarksModel::Bookmark))); connect(m_bookmarksModel, SIGNAL(bookmarkDeleted(BookmarksModel::Bookmark)), this, SLOT(removeBookmark(BookmarksModel::Bookmark))); connect(m_bookmarksModel, SIGNAL(bookmarkEdited(BookmarksModel::Bookmark, BookmarksModel::Bookmark)), this, SLOT(bookmarkEdited(BookmarksModel::Bookmark, BookmarksModel::Bookmark))); connect(m_bookmarksModel, SIGNAL(subfolderAdded(QString)), this, SLOT(subfolderAdded(QString))); connect(m_bookmarksModel, SIGNAL(folderDeleted(QString)), this, SLOT(folderDeleted(QString))); connect(m_bookmarksModel, SIGNAL(folderRenamed(QString, QString)), this, SLOT(folderRenamed(QString, QString))); // QTimer::singleShot(0, this, SLOT(refreshBookmarks())); refreshBookmarks(); }
BookmarksToolbar::BookmarksToolbar(QupZilla* mainClass, QWidget* parent) : QWidget(parent) , p_QupZilla(mainClass) , m_bookmarksModel(mApp->bookmarksModel()) , m_historyModel(mApp->history()) , m_toolButtonStyle(Qt::ToolButtonTextBesideIcon) { setObjectName("bookmarksbar"); m_layout = new QHBoxLayout(); m_layout->setMargin(3); m_layout->setSpacing(0); setLayout(m_layout); setAcceptDrops(true); setContextMenuPolicy(Qt::CustomContextMenu); connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(customContextMenuRequested(QPoint))); connect(m_bookmarksModel, SIGNAL(bookmarkAdded(BookmarksModel::Bookmark)), this, SLOT(addBookmark(BookmarksModel::Bookmark))); connect(m_bookmarksModel, SIGNAL(bookmarkDeleted(BookmarksModel::Bookmark)), this, SLOT(removeBookmark(BookmarksModel::Bookmark))); connect(m_bookmarksModel, SIGNAL(bookmarkEdited(BookmarksModel::Bookmark,BookmarksModel::Bookmark)), this, SLOT(bookmarkEdited(BookmarksModel::Bookmark,BookmarksModel::Bookmark))); connect(m_bookmarksModel, SIGNAL(subfolderAdded(QString)), this, SLOT(subfolderAdded(QString))); connect(m_bookmarksModel, SIGNAL(folderDeleted(QString)), this, SLOT(folderDeleted(QString))); connect(m_bookmarksModel, SIGNAL(folderRenamed(QString,QString)), this, SLOT(folderRenamed(QString,QString))); connect(m_bookmarksModel, SIGNAL(folderParentChanged(QString,bool)), this, SLOT(changeFolderParent(QString,bool))); connect(m_bookmarksModel, SIGNAL(bookmarkParentChanged(QString,QByteArray,int,QUrl,QString,QString)), this, SLOT(changeBookmarkParent(QString,QByteArray,int,QUrl,QString,QString))); setMaximumWidth(p_QupZilla->width()); refreshBookmarks(); showOnlyIconsChanged(); }
int BookmarksController::addBookmark(QString title, QString URL) { int bmid = m_bm->addBookmark(title, URL); // qDebug() << __PRETTY_FUNCTION__ << "added bookmark" << title << URL << bmid << "emitting bookmarkAdded"; emit bookmarkAdded(title, URL, bmid); return(bmid); }
QgsBookmarks::QgsBookmarks( QWidget *parent, Qt::WFlags fl ) : QDialog( parent, fl ), mParent( parent ) { setupUi( this ); // user database is created at QGIS startup in QgisApp::createDB // we just check whether there is our database [MD] QFileInfo myFileInfo; myFileInfo.setFile( QgsApplication::qgisSettingsDirPath() ); if ( !myFileInfo.exists( ) ) { QgsDebugMsg( "The qgis.db does not exist" ); } // Note proper queens english on next line initialise(); // // Create the zoomto and delete buttons and add them to the // toolbar // QPushButton * btnDelete = new QPushButton( tr( "&Delete" ) ); QPushButton * btnZoomTo = new QPushButton( tr( "&Zoom to" ) ); btnZoomTo->setDefault( true ); buttonBox->addButton( btnDelete, QDialogButtonBox::ActionRole ); buttonBox->addButton( btnZoomTo, QDialogButtonBox::ActionRole ); // connect the slot up to catch when a bookmark is deleted connect( btnDelete, SIGNAL( clicked() ), this, SLOT( on_btnDelete_clicked() ) ); // connect the slot up to catch when a bookmark is zoomed to connect( btnZoomTo, SIGNAL( clicked() ), this, SLOT( on_btnZoomTo_clicked() ) ); // connect the slot up to catch when a new bookmark is added connect( mParent, SIGNAL( bookmarkAdded() ), this, SLOT( refreshBookmarks() ) ); }
BookmarkIcon::BookmarkIcon(QWidget* parent) : ClickableLabel(parent) , m_bookmarks(0) , m_speedDial(mApp->plugins()->speedDial()) , m_view(0) { setObjectName("locationbar-bookmarkicon"); setCursor(Qt::PointingHandCursor); setToolTip(tr("Bookmark this Page")); setFocusPolicy(Qt::ClickFocus); m_bookmarks = mApp->bookmarks(); connect(m_bookmarks, SIGNAL(bookmarkAdded(Bookmarks::Bookmark)), this, SLOT(bookmarkAdded(Bookmarks::Bookmark))); connect(m_bookmarks, SIGNAL(bookmarkDeleted(Bookmarks::Bookmark)), this, SLOT(bookmarkDeleted(Bookmarks::Bookmark))); connect(m_speedDial, SIGNAL(pagesChanged()), this, SLOT(speedDialChanged())); connect(this, SIGNAL(clicked(QPoint)), this, SLOT(iconClicked())); }
void ZAudioAdaptor::init(){ if(instance()){ connect(instance(), SIGNAL(bookmarkAdded(qint64)), this, SIGNAL(bookmarkAdded(qint64))); connect(instance(), SIGNAL(bufferChanged(int)), this, SIGNAL(bufferChanged(int))); connect(instance(), SIGNAL(buffering()), this, SIGNAL(buffering())); connect(instance(), SIGNAL(durationChanged(qint64)), this, SIGNAL(durationChanged(qint64))); connect(instance(), SIGNAL(loading()), this, SIGNAL(loading())); connect(instance(), SIGNAL(paused()), this, SIGNAL(paused())); connect(instance(), SIGNAL(playing()), this, SIGNAL(playing())); connect(instance(), SIGNAL(positionChanged(double)), this, SIGNAL(positionChanged(double))); connect(instance(), SIGNAL(queueChanged()), this, SIGNAL(queueChanged())); connect(instance(), SIGNAL(queueCleared()), this, SIGNAL(queueCleared())); connect(instance(), SIGNAL(queuedSongChanged(int)), this, SIGNAL(queuedSongChanged(int))); connect(instance(), SIGNAL(reachedBookmark(qint64)), this, SIGNAL(reachedBookmark(qint64))); connect(instance(), SIGNAL(sourceChanged(QString)), this, SIGNAL(sourceChanged(QString))); connect(instance(), SIGNAL(stopped()), this, SIGNAL(stopped())); connect(instance(), SIGNAL(timeChanged(qint64)), this, SIGNAL(timeChanged(qint64))); } registerService(); }
BookmarksItem* BookmarksModel::addBookmark(BookmarkType type, quint64 identifier, const QUrl &url, const QString &title, BookmarksItem *parent, int index) { blockSignals(true); BookmarksItem *bookmark = new BookmarksItem(); if (parent) { parent->insertRow(((index < 0) ? parent->rowCount() : index), bookmark); } else { getRootItem()->insertRow(((index < 0) ? getRootItem()->rowCount() : index), bookmark); } if (type == UrlBookmark || type == SeparatorBookmark) { bookmark->setDropEnabled(false); } setData(bookmark->index(), type, TypeRole); setData(bookmark->index(), url, UrlRole); setData(bookmark->index(), title, TitleRole); if (type != RootBookmark && type != TrashBookmark && type != FolderBookmark) { bookmark->setFlags(bookmark->flags() | Qt::ItemNeverHasChildren); } if (type != TrashBookmark && type != UnknownBookmark) { if (identifier == 0 || m_identifiers.contains(identifier)) { identifier = (m_identifiers.isEmpty() ? 1 : (m_identifiers.keys().last() + 1)); } setData(bookmark->index(), identifier, IdentifierRole); m_identifiers[identifier] = bookmark; } blockSignals(false); emit bookmarkAdded(bookmark); emit modelModified(); return bookmark; }
bool BookmarkListModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int col, const QModelIndex &parent) { Q_UNUSED(parent); if(action == Qt::IgnoreAction) return true; //Make sure we have urls as created by the fileList if(!data->hasUrls())/*{{{*/ { qDebug("Drop is not a URL"); return false; } //Single column for now if(col > 0) return false; int irow = row; if(irow == 0) irow = 1; QString path = data->urls()[0].path(); QFileInfo f(path); QList<QStandardItem*> items = findItems(f.fileName()); if(f.isDir() && items.isEmpty()) { QStandardItem *it = new QStandardItem(); it->setText(f.fileName()); it->setData(path); #if QT_VERSION >= 0x040600 // Todo: Use a "favorites folder" icon instead it->setIcon(*globalIcon); #else it->setIcon(QIcon(":/images/icons/clip-folder-bookmark.png")); #endif it->setDropEnabled(true); if(row) insertRow(irow, it); else appendRow(it); emit bookmarkAdded(); }/*}}}*/ return true; }
void Core::handleAddToFavorites (QString title, QString url) { Util::DefaultHookProxy_ptr proxy = Util::DefaultHookProxy_ptr (new Util::DefaultHookProxy ()); emit hookAddToFavoritesRequested (proxy, title, url); if (proxy->IsCancelled ()) return; proxy->FillValue ("title", title); proxy->FillValue ("url", url); bool oneClick = XmlSettingsManager::Instance ()->property ("BookmarkInOneClick").toBool (); const auto& index = FavoritesModel_->addItem (title, url, QStringList ()); if (!oneClick) FavoritesModel_->EditBookmark (index); emit bookmarkAdded (url); }
bool BookmarksModel::saveBookmark(const QUrl &url, const QString &title, const QIcon &icon, const QString &folder) { if (url.isEmpty() || title.isEmpty() || folder.isEmpty()) { return false; } QImage image = icon.pixmap(16, 16).toImage(); if (image.isNull()) { image = IconProvider::emptyWebImage(); } if (!isFolder(folder)) { createFolder(folder); } QSqlQuery query; query.prepare("INSERT INTO bookmarks (url, title, folder, icon) VALUES (?,?,?,?)"); query.bindValue(0, url.toString()); query.bindValue(1, title); query.bindValue(2, folder); QByteArray ba; QBuffer buffer(&ba); buffer.open(QIODevice::WriteOnly); image.save(&buffer, "PNG"); query.bindValue(3, buffer.data()); query.exec(); Bookmark bookmark; bookmark.id = query.lastInsertId().toInt(); bookmark.url = url; bookmark.title = title; bookmark.folder = folder; bookmark.image = image; bookmark.inSubfolder = isSubfolder(bookmark.folder); setLastFolder(folder); emit bookmarkAdded(bookmark); mApp->sendMessages(Qz::AM_BookmarksChanged, true); return true; }
BookmarksSideBar::BookmarksSideBar(QupZilla* mainClass, QWidget* parent) : QWidget(parent) , m_isRefreshing(false) , ui(new Ui::BookmarksSideBar) , p_QupZilla(mainClass) , m_bookmarksModel(mApp->bookmarksModel()) { ui->setupUi(this); ui->bookmarksTree->setViewType(BookmarksTree::SideBarView); ui->bookmarksTree->setSelectionBehavior(QAbstractItemView::SelectRows); ui->bookmarksTree->setDragDropReceiver(true, m_bookmarksModel); ui->bookmarksTree->setMimeType(QLatin1String("application/qupzilla.treewidgetitem.bookmarks")); ui->expandAll->setIcon(QIcon::fromTheme("view-sort-ascending", QIcon(":/icons/faenza/expand.png"))); ui->collapseAll->setIcon(QIcon::fromTheme("view-sort-descending", QIcon(":/icons/faenza/collapse.png"))); ui->bookmarksTree->setDefaultItemShowMode(TreeWidget::ItemsExpanded); connect(ui->bookmarksTree, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextMenuRequested(QPoint))); connect(ui->bookmarksTree, SIGNAL(itemControlClicked(QTreeWidgetItem*)), this, SLOT(itemControlClicked(QTreeWidgetItem*))); connect(ui->bookmarksTree, SIGNAL(itemMiddleButtonClicked(QTreeWidgetItem*)), this, SLOT(itemControlClicked(QTreeWidgetItem*))); connect(ui->bookmarksTree, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(itemDoubleClicked(QTreeWidgetItem*))); connect(ui->search, SIGNAL(textChanged(QString)), ui->bookmarksTree, SLOT(filterString(QString))); connect(ui->collapseAll, SIGNAL(clicked()), ui->bookmarksTree, SLOT(collapseAll())); connect(ui->expandAll, SIGNAL(clicked()), ui->bookmarksTree, SLOT(expandAll())); connect(m_bookmarksModel, SIGNAL(bookmarkAdded(BookmarksModel::Bookmark)), this, SLOT(addBookmark(BookmarksModel::Bookmark))); connect(m_bookmarksModel, SIGNAL(bookmarkDeleted(BookmarksModel::Bookmark)), this, SLOT(removeBookmark(BookmarksModel::Bookmark))); connect(m_bookmarksModel, SIGNAL(bookmarkEdited(BookmarksModel::Bookmark,BookmarksModel::Bookmark)), this, SLOT(bookmarkEdited(BookmarksModel::Bookmark,BookmarksModel::Bookmark))); connect(m_bookmarksModel, SIGNAL(folderAdded(QString)), this, SLOT(addFolder(QString))); connect(m_bookmarksModel, SIGNAL(folderDeleted(QString)), this, SLOT(removeFolder(QString))); connect(m_bookmarksModel, SIGNAL(folderRenamed(QString,QString)), this, SLOT(renameFolder(QString,QString))); connect(m_bookmarksModel, SIGNAL(folderParentChanged(QString,bool)), this, SLOT(changeFolderParent(QString,bool))); connect(m_bookmarksModel, SIGNAL(bookmarkParentChanged(QString,QByteArray,int,QUrl,QString,QString)), this, SLOT(changeBookmarkParent(QString,QByteArray,int,QUrl,QString,QString))); QTimer::singleShot(0, this, SLOT(refreshTable())); }