1
mirror of https://invent.kde.org/network/falkon.git synced 2024-09-22 02:02:10 +02:00

Merge pull request #521 from srazi/master

A new bookmarkswidget
This commit is contained in:
David Rosca 2012-08-22 10:58:00 -07:00
commit c3d803366c
4 changed files with 141 additions and 165 deletions

View File

@ -47,7 +47,7 @@ BookmarkIcon::BookmarkIcon(QupZilla* mainClass, QWidget* parent)
void BookmarkIcon::iconClicked() void BookmarkIcon::iconClicked()
{ {
BookmarksWidget* menu = new BookmarksWidget(p_QupZilla->weView(), p_QupZilla->locationBar()); BookmarksWidget* menu = new BookmarksWidget(p_QupZilla, p_QupZilla->weView(), p_QupZilla->locationBar());
menu->showAt(this); menu->showAt(this);
} }

View File

@ -22,13 +22,15 @@
#include "pluginproxy.h" #include "pluginproxy.h"
#include "speeddial.h" #include "speeddial.h"
#include "webview.h" #include "webview.h"
#include "qupzilla.h"
#include <QToolTip> #include <QToolTip>
#include <QSqlQuery> #include <QSqlQuery>
BookmarksWidget::BookmarksWidget(WebView* view, QWidget* parent) BookmarksWidget::BookmarksWidget(QupZilla *mainClass, WebView* view, QWidget* parent)
: QMenu(parent) : QMenu(parent)
, ui(new Ui::BookmarksWidget) , ui(new Ui::BookmarksWidget)
, p_QupZilla(mainClass)
, m_url(view->url()) , m_url(view->url())
, m_view(view) , m_view(view)
, m_bookmarksModel(mApp->bookmarksModel()) , m_bookmarksModel(mApp->bookmarksModel())
@ -36,17 +38,18 @@ BookmarksWidget::BookmarksWidget(WebView* view, QWidget* parent)
{ {
ui->setupUi(this); ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose); setAttribute(Qt::WA_DeleteOnClose);
// The locationbar's direction is direction of its text,
// it dynamically changes and so, it's not good choice for this widget.
setLayoutDirection(QApplication::layoutDirection());
connect(ui->close, SIGNAL(clicked()), this, SLOT(close())); connect(ui->close, SIGNAL(clicked()), this, SLOT(close()));
connect(ui->removeBookmark, SIGNAL(clicked()), this, SLOT(removeBookmark())); connect(ui->removeBookmark, SIGNAL(clicked()), this, SLOT(removeBookmark()));
connect(ui->save, SIGNAL(clicked()), this, SLOT(saveBookmark())); connect(ui->save, SIGNAL(clicked()), this, SLOT(saveBookmark()));
connect(ui->bookmarksButton, SIGNAL(clicked()), this, SLOT(addBookmark())); connect(ui->organizeBookmarksButton, SIGNAL(clicked()), p_QupZilla, SLOT(showBookmarksManager()));
connect(ui->speeddialButton, SIGNAL(clicked()), this, SLOT(toggleSpeedDial())); connect(ui->speeddialButton, SIGNAL(clicked()), this, SLOT(toggleSpeedDial()));
if (m_bookmarksModel->isBookmarked(m_url)) {
ui->bookmarksButton->setText(tr("Edit Bookmark"));
}
const SpeedDial::Page &page = m_speedDial->pageForUrl(m_url); const SpeedDial::Page &page = m_speedDial->pageForUrl(m_url);
ui->speeddialButton->setText(page.url.isEmpty() ? tr("Add to Speed Dial") : tr("Remove from Speed Dial")); ui->speeddialButton->setText(page.url.isEmpty() ? tr("Add to Speed Dial") : tr("Remove from Speed Dial"));
@ -57,13 +60,13 @@ BookmarksWidget::BookmarksWidget(WebView* view, QWidget* parent)
ui->label_2->setPalette(pal); ui->label_2->setPalette(pal);
ui->label_3->setPalette(pal); ui->label_3->setPalette(pal);
#endif #endif
addBookmark();
} }
void BookmarksWidget::loadBookmark() void BookmarksWidget::loadBookmark()
{ {
if (m_bookmarksModel->isBookmarked(m_url)) { if (m_bookmarksModel->isBookmarked(m_url)) {
ui->stackedWidget->setCurrentIndex(0);
m_bookmarkId = m_bookmarksModel->bookmarkId(m_url); m_bookmarkId = m_bookmarksModel->bookmarkId(m_url);
BookmarksModel::Bookmark bookmark = m_bookmarksModel->getBookmark(m_bookmarkId); BookmarksModel::Bookmark bookmark = m_bookmarksModel->getBookmark(m_bookmarkId);
ui->name->setText(bookmark.title); ui->name->setText(bookmark.title);

View File

@ -31,11 +31,13 @@ class BookmarksWidget;
class WebView; class WebView;
class SpeedDial; class SpeedDial;
class BookmarksModel; class BookmarksModel;
class QupZilla;
class QT_QUPZILLA_EXPORT BookmarksWidget : public QMenu class QT_QUPZILLA_EXPORT BookmarksWidget : public QMenu
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit BookmarksWidget(WebView* view, QWidget* parent = 0); explicit BookmarksWidget(QupZilla* mainClass, WebView* view, QWidget* parent = 0);
~BookmarksWidget(); ~BookmarksWidget();
void showAt(QWidget* _parent); void showAt(QWidget* _parent);
@ -57,6 +59,7 @@ private:
Ui::BookmarksWidget* ui; Ui::BookmarksWidget* ui;
QUrl m_url; QUrl m_url;
int m_bookmarkId; int m_bookmarkId;
QupZilla* p_QupZilla;
WebView* m_view; WebView* m_view;
BookmarksModel* m_bookmarksModel; BookmarksModel* m_bookmarksModel;

View File

@ -7,169 +7,139 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>275</width> <width>275</width>
<height>98</height> <height>130</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle"> <property name="windowTitle">
<string notr="true"/> <string/>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout">
<property name="margin">
<number>0</number>
</property>
<item> <item>
<widget class="Frame" name="frame"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="frameShape"> <item>
<enum>QFrame::NoFrame</enum> <widget class="QPushButton" name="speeddialButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Add to Speed Dial</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="organizeBookmarksButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Organize Bookmarks</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Name:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="name"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Folder:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="folder">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>5</number>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <item>
<property name="margin"> <widget class="QPushButton" name="removeBookmark">
<number>9</number> <property name="sizePolicy">
</property> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<item row="1" column="0"> <horstretch>0</horstretch>
<widget class="QStackedWidget" name="stackedWidget"> <verstretch>0</verstretch>
<property name="currentIndex"> </sizepolicy>
<number>1</number> </property>
</property> <property name="text">
<widget class="QWidget" name="page"> <string>Remove</string>
<layout class="QGridLayout" name="gridLayout_2"> </property>
<property name="margin"> </widget>
<number>0</number> </item>
</property> <item>
<item row="2" column="0"> <spacer name="horizontalSpacer">
<widget class="QLabel" name="label_2"> <property name="orientation">
<property name="text"> <enum>Qt::Horizontal</enum>
<string>Folder:</string> </property>
</property> <property name="sizeHint" stdset="0">
</widget> <size>
</item> <width>40</width>
<item row="1" column="0"> <height>20</height>
<widget class="QLabel" name="label_3"> </size>
<property name="text"> </property>
<string>Name:</string> </spacer>
</property> </item>
</widget> <item>
</item> <widget class="QPushButton" name="save">
<item row="2" column="1"> <property name="sizePolicy">
<widget class="QComboBox" name="folder"/> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
</item> <horstretch>0</horstretch>
<item row="1" column="1"> <verstretch>0</verstretch>
<widget class="QLineEdit" name="name"/> </sizepolicy>
</item> </property>
<item row="3" column="0" colspan="2"> <property name="text">
<layout class="QHBoxLayout" name="horizontalLayout"> <string>Save</string>
<property name="spacing"> </property>
<number>5</number> </widget>
</property> </item>
<item> <item>
<widget class="QPushButton" name="removeBookmark"> <widget class="QPushButton" name="close">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="text"> <property name="text">
<string>Remove</string> <string>Close</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> </layout>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="save">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="close">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Close</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_2">
<layout class="QGridLayout" name="gridLayout_3">
<property name="leftMargin">
<number>25</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>25</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QPushButton" name="bookmarksButton">
<property name="text">
<string>Add to Bookmarks</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="speeddialButton">
<property name="text">
<string>Add to Speed Dial</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</item> </item>
</layout> </layout>
</widget> </widget>
<customwidgets> <resources/>
<customwidget>
<class>Frame</class>
<extends>QFrame</extends>
<header>frame.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources>
<include location="../data/icons.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>