summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/application.cpp38
-rw-r--r--src/bookmarks/bookmarkcontextmenu.cpp4
-rw-r--r--src/bookmarks/bookmarksmanager.cpp8
-rw-r--r--src/bookmarks/bookmarkstreemodel.cpp2
-rw-r--r--src/data/rekonq.desktop3
-rw-r--r--src/history/historypanel.cpp6
-rw-r--r--src/mainview.cpp3
-rw-r--r--src/mainwindow.cpp19
-rw-r--r--src/mainwindow.h4
-rw-r--r--src/newtabpage.cpp5
-rw-r--r--src/rekonq.kcfg32
-rw-r--r--src/settings/appearancewidget.cpp74
-rw-r--r--src/settings/appearancewidget.h12
-rw-r--r--src/settings/settings_appearance.ui309
-rw-r--r--src/tabbar.cpp5
-rw-r--r--src/urlbar/completionwidget.cpp6
-rw-r--r--src/urlbar/completionwidget.h2
-rw-r--r--src/urlbar/listitem.cpp2
-rw-r--r--src/urlbar/listitem.h2
-rw-r--r--src/urlbar/urlresolver.cpp4
-rw-r--r--src/webpage.cpp7
-rw-r--r--src/webtab.cpp2
-rw-r--r--src/webview.cpp19
-rw-r--r--src/webview.h2
24 files changed, 368 insertions, 202 deletions
diff --git a/src/application.cpp b/src/application.cpp
index 23e5b095..fb52dc51 100644
--- a/src/application.cpp
+++ b/src/application.cpp
@@ -433,30 +433,26 @@ void Application::updateConfiguration()
QWebSettings *defaultSettings = QWebSettings::globalSettings();
- // =========== Fonts ==============
- QFont standardFont = ReKonfig::standardFont();
- defaultSettings->setFontFamily(QWebSettings::StandardFont, standardFont.family());
- defaultSettings->setFontSize(QWebSettings::DefaultFontSize, standardFont.pointSize());
-
- QFont fixedFont = ReKonfig::fixedFont();
- defaultSettings->setFontFamily(QWebSettings::FixedFont, fixedFont.family());
- defaultSettings->setFontSize(QWebSettings::DefaultFixedFontSize, fixedFont.pointSize());
-
- QFont serifFont = ReKonfig::serifFont();
- defaultSettings->setFontFamily(QWebSettings::SerifFont, serifFont.family());
-
- QFont sansSerifFont = ReKonfig::sansSerifFont();
- defaultSettings->setFontFamily(QWebSettings::SansSerifFont, sansSerifFont.family());
-
- QFont cursiveFont = ReKonfig::cursiveFont();
- defaultSettings->setFontFamily(QWebSettings::FixedFont, cursiveFont.family());
+ // =========== Fonts ==============
+ defaultSettings->setFontFamily(QWebSettings::StandardFont, ReKonfig::standardFontFamily() );
+ defaultSettings->setFontFamily(QWebSettings::FixedFont, ReKonfig::fixedFontFamily() );
+ defaultSettings->setFontFamily(QWebSettings::SerifFont, ReKonfig::serifFontFamily() );
+ defaultSettings->setFontFamily(QWebSettings::SansSerifFont, ReKonfig::sansSerifFontFamily() );
+ defaultSettings->setFontFamily(QWebSettings::CursiveFont, ReKonfig::cursiveFontFamily());
+ defaultSettings->setFontFamily(QWebSettings::FantasyFont, ReKonfig::fantasyFontFamily());
+
+ // compute font size
+ // (I have to admit I know nothing about these DPI questions..: copied from kwebkitpart, as someone suggested)
+ // font size in pixels = font size in inches × screen dpi
+ int defaultFontSize = ReKonfig::defaultFontSize();
+ int minimumFontSize = ReKonfig::minFontSize();
- QFont fantasyFont = ReKonfig::fantasyFont();
- defaultSettings->setFontFamily(QWebSettings::FantasyFont, fantasyFont.family());
+ float toPix = mainWindow()->currentTab()->view()->logicalDpiY()/72.0;
- int minimumFontSize = ReKonfig::minFontSize();
- defaultSettings->setFontSize(QWebSettings::MinimumFontSize, minimumFontSize);
+ defaultSettings->setFontSize(QWebSettings::DefaultFontSize, qRound(defaultFontSize * toPix) );
+ defaultSettings->setFontSize(QWebSettings::MinimumFontSize, qRound(minimumFontSize * toPix) );
+
// ================ WebKit ============================
defaultSettings->setAttribute(QWebSettings::AutoLoadImages, ReKonfig::autoLoadImages());
defaultSettings->setAttribute(QWebSettings::DnsPrefetchEnabled, ReKonfig::dnsPrefetch());
diff --git a/src/bookmarks/bookmarkcontextmenu.cpp b/src/bookmarks/bookmarkcontextmenu.cpp
index c96fa7bf..4422763a 100644
--- a/src/bookmarks/bookmarkcontextmenu.cpp
+++ b/src/bookmarks/bookmarkcontextmenu.cpp
@@ -237,7 +237,7 @@ void BookmarkContextMenu::editBookmark()
selected.setFullText(selected.text().replace("&&", "&"));
KBookmarkDialog *dialog = owner()->bookmarkDialog(manager(), QApplication::activeWindow());
dialog->editBookmark(selected);
- selected.setFullText(selected.text().replace("&", "&&"));
+ selected.setFullText(selected.text().replace('&', "&&"));
delete dialog;
}
@@ -319,7 +319,7 @@ void BookmarkContextMenu::bookmarkCurrentPage()
if (selected.isGroup())
parent = selected.toGroup();
- KBookmark newBk = parent.addBookmark(owner()->currentTitle().replace("&", "&&"), KUrl(owner()->currentUrl()), "text-html");
+ KBookmark newBk = parent.addBookmark(owner()->currentTitle().replace('&', "&&"), KUrl(owner()->currentUrl()), "text-html");
parent.moveBookmark(newBk, selected.parentGroup().previous(selected));
}
diff --git a/src/bookmarks/bookmarksmanager.cpp b/src/bookmarks/bookmarksmanager.cpp
index 503e1df8..c430078b 100644
--- a/src/bookmarks/bookmarksmanager.cpp
+++ b/src/bookmarks/bookmarksmanager.cpp
@@ -100,8 +100,10 @@ void BookmarkOwner::openFolderinTabs(const KBookmarkGroup &bookmark)
if (urlList.length() > 8)
{
if ( !(KMessageBox::warningContinueCancel( Application::instance()->mainWindow(),
- i18n("You are about to open %1 tabs.\nAre you sure?",
- QString::number( urlList.length() ))
+ i18ncp("%1=Number of tabs. Value is always >=8",
+ "You are about to open %1 tabs.\nAre you sure?",
+ "You are about to open %1 tabs.\nAre you sure?",
+ urlList.length())
) == KMessageBox::Continue)
)
return;
@@ -410,7 +412,7 @@ void BookmarkProvider::fillBookmarkBar(KToolBar *toolBar)
else
{
KBookmarkAction* a = new KBookmarkAction(bookmark, m_owner, this);
- a->setIconText(a->iconText().replace("&", "&&"));
+ a->setIconText(a->iconText().replace('&', "&&"));
toolBar->addAction(a);
}
}
diff --git a/src/bookmarks/bookmarkstreemodel.cpp b/src/bookmarks/bookmarkstreemodel.cpp
index 4003cf3f..a865a99d 100644
--- a/src/bookmarks/bookmarkstreemodel.cpp
+++ b/src/bookmarks/bookmarkstreemodel.cpp
@@ -75,7 +75,7 @@ QVariant BtmItem::data(int role) const
}
if (m_kbm.isGroup())
{
- tooltip += i18nc("%1=Number of items in bookmark folder", " (%1 items)", QString::number(childCount()));
+ tooltip += i18nc("%1=Number of items in bookmark folder", " (%1 items)", childCount());
}
if (!m_kbm.url().url().isEmpty())
{
diff --git a/src/data/rekonq.desktop b/src/data/rekonq.desktop
index 9f00873f..028a79cb 100644
--- a/src/data/rekonq.desktop
+++ b/src/data/rekonq.desktop
@@ -15,6 +15,7 @@ Name[nl]=rekonq
Name[pl]=rekonq
Name[pt]=rekonq
Name[pt_BR]=rekonq
+Name[ru]=rekonq
Name[sv]=Rekonq
Name[uk]=rekonq
Name[x-test]=xxrekonqxx
@@ -28,9 +29,11 @@ GenericName[fr]=Navigateur Webkit pour KDE
GenericName[nl]=Webkit KDE Browser
GenericName[pt]=Navegador do KDE Usando o WebKit
GenericName[pt_BR]=Navegador WebKit do KDE
+GenericName[ru]=Веб-браузер для KDE на базе WebKit
GenericName[sv]=Webkit webbläsare för KDE
GenericName[uk]=Переглядач мережі на WebKit для KDE
GenericName[x-test]=xxWebKit KDE Browserxx
+GenericName[zh_CN]=Webkit KDE 浏览器
Icon=rekonq
Type=Application
Exec=rekonq %u
diff --git a/src/history/historypanel.cpp b/src/history/historypanel.cpp
index 65c9de81..d8309eed 100644
--- a/src/history/historypanel.cpp
+++ b/src/history/historypanel.cpp
@@ -172,8 +172,10 @@ void HistoryPanel::openAll()
if (allChild.length() > 8)
{
if (!(KMessageBox::warningContinueCancel(this,
- i18n("You are about to open %1 tabs.\nAre you sure?",
- QString::number(allChild.length()))) == KMessageBox::Continue)
+ i18ncp("%1=Number of tabs. Value is always >=8",
+ "You are about to open %1 tabs.\nAre you sure?",
+ "You are about to open %1 tabs.\nAre you sure?",
+ allChild.length())) == KMessageBox::Continue)
)
return;
}
diff --git a/src/mainview.cpp b/src/mainview.cpp
index 0bc6fbde..0b17ef2a 100644
--- a/src/mainview.cpp
+++ b/src/mainview.cpp
@@ -329,6 +329,7 @@ WebTab *MainView::newWebTab(bool focused, bool nearParent)
connect(tab->view(), SIGNAL(iconChanged()), this, SLOT(webViewIconChanged()));
connect(tab->view(), SIGNAL(titleChanged(const QString &)), this, SLOT(webViewTitleChanged(const QString &)));
connect(tab->view(), SIGNAL(urlChanged(const QUrl &)), this, SLOT(webViewUrlChanged(const QUrl &)));
+ connect(tab->view(), SIGNAL(zoomChanged(qreal)), m_parentWindow, SLOT(setZoomSliderFactor(qreal)));
// connecting webPage signals with mainview
connect(tab->view()->page(), SIGNAL(windowCloseRequested()), this, SLOT(windowCloseRequested()));
@@ -596,7 +597,7 @@ void MainView::webViewTitleChanged(const QString &title)
{
QString viewTitle = title.isEmpty()? i18n("(Untitled)") : title;
QString tabTitle = viewTitle;
- tabTitle.replace("&", "&&");
+ tabTitle.replace('&', "&&");
WebView *view = qobject_cast<WebView *>(sender());
int index = indexOf(view->parentWidget());
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 43418ed3..dc29d2eb 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -609,8 +609,19 @@ void MainWindow::openLocation()
void MainWindow::fileSaveAs()
{
- KUrl srcUrl = currentTab()->url();
-
+ KUrl srcUrl;
+ WebTab *w = currentTab();
+ if (w->page()->isOnRekonqPage())
+ {
+ QWebElement el = w->page()->mainFrame()->documentElement();
+ srcUrl = KUrl( el.findFirst("object").attribute("data") );
+ }
+ else
+ {
+ srcUrl = w->url();
+ }
+ kDebug() << "URL to save: " << srcUrl;
+
QString name = srcUrl.fileName();
if (name.isNull())
{
@@ -669,7 +680,7 @@ void MainWindow::updateActions()
if (am->menu())
am->menu()->clear();
- foreach (HistoryItem item, mainView()->recentlyClosedTabs())
+ foreach (const HistoryItem &item, mainView()->recentlyClosedTabs())
{
KAction *a = new KAction(Application::icon(item.url), item.title, this);
a->setData(item.url);
@@ -895,7 +906,7 @@ void MainWindow::setZoomFactor(int factor)
void MainWindow::setZoomSliderFactor(qreal factor)
{
- m_zoomSlider->setValue(factor*10);
+ m_zoomSlider->setValue(factor * 10);
}
diff --git a/src/mainwindow.h b/src/mainwindow.h
index ffc91086..8acbef56 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -78,8 +78,6 @@ public:
virtual QSize sizeHint() const;
void setWidgetsVisible(bool makeFullScreen);
- void setZoomSliderFactor(qreal factor);
-
private:
void setupActions();
void setupTools();
@@ -103,6 +101,8 @@ public slots:
void updateActions();
+ void setZoomSliderFactor(qreal factor);
+
signals:
// switching tabs
void ctrlTabPressed();
diff --git a/src/newtabpage.cpp b/src/newtabpage.cpp
index b3b9cf65..9c381f97 100644
--- a/src/newtabpage.cpp
+++ b/src/newtabpage.cpp
@@ -380,8 +380,7 @@ void NewTabPage::browsingMenu(const KUrl &currentUrl)
nav.findFirst("span").appendInside(i18n("Downloads"));
navItems.append(nav);
- QWebElement it;
- foreach(it, navItems)
+ foreach(QWebElement it, navItems)
{
if (it.findFirst("a").attribute("href") == currentUrl.toMimeDataString())
it.addClass("current");
@@ -582,7 +581,7 @@ void NewTabPage::downloadsPage()
div.appendInside("<em>" + date + "</em>");
div.appendInside("<br/>");
- div.appendInside(item.srcUrlString);
+ div.appendInside("<a href=" + item.srcUrlString + '>' + item.srcUrlString + "</a>");
div.appendInside("<br/>");
div.appendInside(markup("a"));
diff --git a/src/rekonq.kcfg b/src/rekonq.kcfg
index 07c079a5..b934c6d5 100644
--- a/src/rekonq.kcfg
+++ b/src/rekonq.kcfg
@@ -9,6 +9,7 @@
<include>QtWebKit</include>
<include>QDateTime</include>
<include>KUrl</include>
+<include>KGlobalSettings</include>
<kcfgfile name="rekonqrc" />
@@ -69,8 +70,8 @@
<entry name="searchEngine" type="Int">
<default>0</default>
</entry>
- <entry name="disableAutoScroll" type="Bool">
- <default>false</default>
+ <entry name="autoScroll" type="Bool">
+ <default>true</default>
</entry>
</group>
@@ -100,23 +101,26 @@
<!-- Fonts Settings -->
<group name="Fonts">
- <entry name="standardFont" type="Font">
- <default code="true">QFont(QWebSettings::globalSettings()->fontFamily(QWebSettings::StandardFont))</default>
+ <entry name="standardFontFamily" type="String">
+ <default code="true">KGlobalSettings::generalFont().family()</default>
+ </entry>
+ <entry name="fixedFontFamily" type="String">
+ <default code="true">KGlobalSettings::fixedFont().family()</default>
</entry>
- <entry name="fixedFont" type="Font">
- <default code="true">QFont(QWebSettings::globalSettings()->fontFamily(QWebSettings::FixedFont))</default>
+ <entry name="serifFontFamily" type="String">
+ <default code="true">QWebSettings::globalSettings()->fontFamily(QWebSettings::SerifFont)</default>
</entry>
- <entry name="serifFont" type="Font">
- <default code="true">QFont(QWebSettings::globalSettings()->fontFamily(QWebSettings::SerifFont))</default>
+ <entry name="sansSerifFontFamily" type="String">
+ <default code="true">QWebSettings::globalSettings()->fontFamily(QWebSettings::SansSerifFont)</default>
</entry>
- <entry name="sansSerifFont" type="Font">
- <default code="true">QFont(QWebSettings::globalSettings()->fontFamily(QWebSettings::SansSerifFont))</default>
+ <entry name="cursiveFontFamily" type="String">
+ <default code="true">QWebSettings::globalSettings()->fontFamily(QWebSettings::CursiveFont)</default>
</entry>
- <entry name="cursiveFont" type="Font">
- <default code="true">QFont(QWebSettings::globalSettings()->fontFamily(QWebSettings::CursiveFont))</default>
+ <entry name="fantasyFontFamily" type="String">
+ <default code="true">QWebSettings::globalSettings()->fontFamily(QWebSettings::FantasyFont)</default>
</entry>
- <entry name="fantasyFont" type="Font">
- <default code="true">QFont(QWebSettings::globalSettings()->fontFamily(QWebSettings::FantasyFont))</default>
+ <entry name="defaultFontSize" type="Int">
+ <default>16</default>
</entry>
<entry name="minFontSize" type="Int">
<default>8</default>
diff --git a/src/settings/appearancewidget.cpp b/src/settings/appearancewidget.cpp
index 40f53a85..20793d0a 100644
--- a/src/settings/appearancewidget.cpp
+++ b/src/settings/appearancewidget.cpp
@@ -28,8 +28,8 @@
#include "appearancewidget.h"
#include "appearancewidget.moc"
-// KDE Includes
-#include <KFontRequester>
+// Auto Includes
+#include "rekonq.h"
AppearanceWidget::AppearanceWidget(QWidget *parent)
@@ -37,16 +37,33 @@ AppearanceWidget::AppearanceWidget(QWidget *parent)
, _changed(false)
{
setupUi(this);
-
- KFontRequester *fixedFontRequester = new KFontRequester(this, true);
- fixedFontRequester->setObjectName( QL1S("kcfg_fixedFont") );
-
- gridLayout->addWidget(fixedFontRequester, 1, 1, 1, 1);
+
+ fixedFontChooser->setOnlyFixed(true);
+
+ standardFontChooser->setCurrentFont( QFont( ReKonfig::standardFontFamily() ) );
+ fixedFontChooser->setCurrentFont( QFont( ReKonfig::fixedFontFamily() ) );
+ serifFontChooser->setCurrentFont( QFont( ReKonfig::serifFontFamily() ) );
+ sansSerifFontChooser->setCurrentFont( QFont( ReKonfig::sansSerifFontFamily() ) );
+ cursiveFontChooser->setCurrentFont( QFont( ReKonfig::cursiveFontFamily() ) );
+ fantasyFontChooser->setCurrentFont( QFont( ReKonfig::fantasyFontFamily() ) );
+
+ connect(standardFontChooser, SIGNAL(currentFontChanged(const QFont &)), this, SLOT(slotStandardFont(const QFont &)));
+ connect(fixedFontChooser, SIGNAL(currentFontChanged(const QFont &)), this, SLOT(slotFixedFont(const QFont &)));
+ connect(serifFontChooser, SIGNAL(currentFontChanged(const QFont &)), this, SLOT(slotSerifFont(const QFont &)));
+ connect(sansSerifFontChooser, SIGNAL(currentFontChanged(const QFont &)), this, SLOT(slotSansSerifFont(const QFont &)));
+ connect(cursiveFontChooser, SIGNAL(currentFontChanged(const QFont &)), this, SLOT(slotCursiveFont(const QFont &)));
+ connect(fantasyFontChooser, SIGNAL(currentFontChanged(const QFont &)), this, SLOT(slotFantasyFont(const QFont &)));
}
void AppearanceWidget::save()
{
+ ReKonfig::setStandardFontFamily(reFont[0]);
+ ReKonfig::setFixedFontFamily(reFont[1]);
+ ReKonfig::setSerifFontFamily(reFont[2]);
+ ReKonfig::setSansSerifFontFamily(reFont[3]);
+ ReKonfig::setCursiveFontFamily(reFont[4]);
+ ReKonfig::setFantasyFontFamily(reFont[5]);
}
@@ -58,4 +75,47 @@ bool AppearanceWidget::changed()
void AppearanceWidget::hasChanged()
{
+ _changed = true;
+}
+
+
+void AppearanceWidget::slotStandardFont(const QFont &f)
+{
+ reFont[0] = f.family();
+ hasChanged();
+}
+
+
+void AppearanceWidget::slotFixedFont(const QFont &f)
+{
+ reFont[1] = f.family();
+ hasChanged();
+}
+
+
+void AppearanceWidget::slotSerifFont(const QFont &f)
+{
+ reFont[2] = f.family();
+ hasChanged();
+}
+
+
+void AppearanceWidget::slotSansSerifFont(const QFont &f)
+{
+ reFont[3] = f.family();
+ hasChanged();
+}
+
+
+void AppearanceWidget::slotCursiveFont(const QFont &f)
+{
+ reFont[4] = f.family();
+ hasChanged();
+}
+
+
+void AppearanceWidget::slotFantasyFont(const QFont &f)
+{
+ reFont[5] = f.family();
+ hasChanged();
}
diff --git a/src/settings/appearancewidget.h b/src/settings/appearancewidget.h
index 5c7ddc6d..ea3de6a1 100644
--- a/src/settings/appearancewidget.h
+++ b/src/settings/appearancewidget.h
@@ -53,9 +53,19 @@ signals:
private slots:
void hasChanged();
-
+
+ void slotStandardFont(const QFont &);
+ void slotFixedFont(const QFont &);
+ void slotSerifFont(const QFont &);
+ void slotSansSerifFont(const QFont &);
+ void slotCursiveFont(const QFont &);
+ void slotFantasyFont(const QFont &);
+
private:
bool _changed;
+
+ QString reFont[6];
+
};
#endif // APPEARANCE_WIDGET_H
diff --git a/src/settings/settings_appearance.ui b/src/settings/settings_appearance.ui
index 92d15cc6..7ec23484 100644
--- a/src/settings/settings_appearance.ui
+++ b/src/settings/settings_appearance.ui
@@ -6,143 +6,186 @@
<rect>
<x>0</x>
<y>0</y>
- <width>529</width>
- <height>429</height>
+ <width>351</width>
+ <height>455</height>
</rect>
</property>
<property name="windowTitle">
<string>Appearance</string>
</property>
- <layout class="QVBoxLayout" name="verticalLayout_2">
+ <layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Fonts</string>
</property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>0</height>
- </size>
- </property>
- <property name="text">
- <string>Standard font:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="KFontRequester" name="kcfg_standardFont"/>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>0</height>
- </size>
- </property>
- <property name="text">
- <string>Fixed font:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QLabel" name="label_4">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>0</height>
- </size>
- </property>
- <property name="text">
- <string>Minimal font size:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="6" column="1">
- <widget class="KIntNumInput" name="kcfg_minFontSize"/>
- </item>
- <item row="2" column="1">
- <widget class="KFontRequester" name="kcfg_serifFont"/>
- </item>
- <item row="3" column="1">
- <widget class="KFontRequester" name="kcfg_sansSerifFont"/>
- </item>
- <item row="4" column="1">
- <widget class="KFontRequester" name="kcfg_cursiveFont"/>
- </item>
- <item row="5" column="1">
- <widget class="KFontRequester" name="kcfg_fantasyFont"/>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Serif font:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_6">
- <property name="text">
- <string>Sans Serif font:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Standard font:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="KFontComboBox" name="standardFontChooser"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Fixed font:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="KFontComboBox" name="fixedFontChooser"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Serif font:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="KFontComboBox" name="serifFontChooser"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Sans Serif font:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="KFontComboBox" name="sansSerifFontChooser"/>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Cursive font:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="KFontComboBox" name="cursiveFontChooser"/>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Fantasy font:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="KFontComboBox" name="fantasyFontChooser"/>
+ </item>
+ </layout>
</item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_7">
- <property name="text">
- <string>Cursive font:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
- <item row="5" column="0">
- <widget class="QLabel" name="label_8">
- <property name="text">
- <string>Fantasy font:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
+ <item>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Default font size:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="KIntNumInput" name="kcfg_defaultFontSize"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Minimal font size:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="KIntNumInput" name="kcfg_minFontSize"/>
+ </item>
+ </layout>
</item>
</layout>
</widget>
@@ -186,12 +229,15 @@
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
- <widget class="QCheckBox" name="kcfg_disableAutoScroll">
+ <widget class="QCheckBox" name="kcfg_autoScroll">
<property name="toolTip">
- <string>Disable automatic scrolling on middle click in a web page</string>
+ <string>Toggle automatic scrolling on middle click in a web page</string>
</property>
<property name="text">
- <string>Disable auto scrolling</string>
+ <string>Auto-scroll on middle-click</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
</property>
</widget>
</item>
@@ -220,9 +266,14 @@
<header>kurlrequester.h</header>
</customwidget>
<customwidget>
- <class>KFontRequester</class>
- <extends>QWidget</extends>
- <header>kfontrequester.h</header>
+ <class>KFontComboBox</class>
+ <extends>KComboBox</extends>
+ <header>kfontcombobox.h</header>
+ </customwidget>
+ <customwidget>
+ <class>KComboBox</class>
+ <extends>QComboBox</extends>
+ <header>kcombobox.h</header>
</customwidget>
<customwidget>
<class>KIntNumInput</class>
diff --git a/src/tabbar.cpp b/src/tabbar.cpp
index 1274d813..5d6b7b2c 100644
--- a/src/tabbar.cpp
+++ b/src/tabbar.cpp
@@ -186,6 +186,11 @@ void TabBar::showTabPreview(int tab)
void TabBar::mouseMoveEvent(QMouseEvent *event)
{
+ if (count() == 1)
+ {
+ return;
+ }
+
if (event->buttons() & Qt::LeftButton)
{
// hide addNewTabButton when moving tabs
diff --git a/src/urlbar/completionwidget.cpp b/src/urlbar/completionwidget.cpp
index 9a5c9432..af9bdc45 100644
--- a/src/urlbar/completionwidget.cpp
+++ b/src/urlbar/completionwidget.cpp
@@ -74,7 +74,7 @@ void CompletionWidget::insertSearchList(const UrlSearchList &list, const QString
{
ListItem *suggestion = ListItemFactory::create(item, text, this);
suggestion->setBackgroundRole(i % 2 ? QPalette::AlternateBase : QPalette::Base);
- connect(suggestion, SIGNAL(itemClicked(ListItem *, Qt::MouseButton)), this, SLOT(itemChosen(ListItem *, Qt::MouseButton)));
+ connect(suggestion, SIGNAL(itemClicked(ListItem *, Qt::MouseButton, Qt::KeyboardModifiers)), this, SLOT(itemChosen(ListItem *, Qt::MouseButton, Qt::KeyboardModifiers)));
connect(this, SIGNAL(nextItemSubChoice()), suggestion, SLOT(nextItemSubChoice()));
suggestion->setObjectName(QString::number(i++));
layout()->addWidget(suggestion);
@@ -265,9 +265,9 @@ void CompletionWidget::setVisible(bool visible)
}
-void CompletionWidget::itemChosen(ListItem *item, Qt::MouseButton button)
+void CompletionWidget::itemChosen(ListItem *item, Qt::MouseButton button, Qt::KeyboardModifiers modifier)
{
- if (button == Qt::MidButton)
+ if (button == Qt::MidButton || modifier == Qt::ControlModifier)
emit chosenUrl(item->url(), Rekonq::NewCurrentTab);
else
emit chosenUrl(item->url(), Rekonq::CurrentTab);
diff --git a/src/urlbar/completionwidget.h b/src/urlbar/completionwidget.h
index 2d33b59f..423499fe 100644
--- a/src/urlbar/completionwidget.h
+++ b/src/urlbar/completionwidget.h
@@ -64,7 +64,7 @@ public:
void suggestUrls(const QString &text);
private slots:
- void itemChosen(ListItem *item, Qt::MouseButton = Qt::LeftButton);
+ void itemChosen(ListItem *item, Qt::MouseButton = Qt::LeftButton, Qt::KeyboardModifiers = Qt::NoModifier);
signals:
void chosenUrl(const KUrl &, Rekonq::OpenType);
diff --git a/src/urlbar/listitem.cpp b/src/urlbar/listitem.cpp
index 5254c7dc..3114c16a 100644
--- a/src/urlbar/listitem.cpp
+++ b/src/urlbar/listitem.cpp
@@ -129,7 +129,7 @@ void ListItem::leaveEvent(QEvent *e)
void ListItem::mousePressEvent(QMouseEvent *e)
{
- emit itemClicked(this, e->button());
+ emit itemClicked(this, e->button(), e->modifiers());
QWidget::mousePressEvent(e);
}
diff --git a/src/urlbar/listitem.h b/src/urlbar/listitem.h
index c26a1893..dcb4f76d 100644
--- a/src/urlbar/listitem.h
+++ b/src/urlbar/listitem.h
@@ -66,7 +66,7 @@ public slots:
virtual void nextItemSubChoice();
signals:
- void itemClicked(ListItem *item, Qt::MouseButton);
+ void itemClicked(ListItem *item, Qt::MouseButton, Qt::KeyboardModifiers);
protected:
virtual void paintEvent(QPaintEvent *event);
diff --git a/src/urlbar/urlresolver.cpp b/src/urlbar/urlresolver.cpp
index 07b40bac..7333e305 100644
--- a/src/urlbar/urlresolver.cpp
+++ b/src/urlbar/urlresolver.cpp
@@ -74,7 +74,7 @@ UrlResolver::UrlResolver(const QString &typedUrl)
{
kDebug() << "browse regexp empty. Setting value..";
- QString protocol = "^(http://|https://|file://|ftp://)";
+ QString protocol = "^(http://|https://|file://|ftp://|man:|info:)";
QString local = "^/";
@@ -91,7 +91,7 @@ UrlResolver::UrlResolver(const QString &typedUrl)
"y[etu]|z[amw]|aero|arpa|biz|com|coop|edu|info|int|gov|mil|museum|name|net|org|"\
"pro)";
- _browseRegexp = QRegExp("(" + protocol + ")|(" + local + ")|(" + address + ")|(" + ipv6 + ")|(" + ipv4 +")");
+ _browseRegexp = QRegExp('(' + protocol + ")|(" + local + ")|(" + address + ")|(" + ipv6 + ")|(" + ipv4 +')');
}
}
diff --git a/src/webpage.cpp b/src/webpage.cpp
index 00745445..4a8c8b6b 100644
--- a/src/webpage.cpp
+++ b/src/webpage.cpp
@@ -113,6 +113,9 @@ static bool downloadResource (const KUrl& srcUrl, const KIO::MetaData& metaData
do
{
destUrl = KFileDialog::getSaveFileName(fileName, QString(), parent);
+
+ if(destUrl.isEmpty())
+ return false;
if (destUrl.isLocalFile())
{
@@ -615,14 +618,14 @@ void WebPage::downloadAllContentsWithKGet(QPoint)
KUrl relativeUrl;
QWebElementCollection images = mainFrame()->documentElement().findAll("img");
- foreach(QWebElement img, images)
+ foreach(const QWebElement &img, images)
{
relativeUrl.setEncodedUrl(img.attribute("src").toUtf8(), KUrl::TolerantMode);
contents << baseUrl.resolved(relativeUrl).toString();
}
QWebElementCollection links = mainFrame()->documentElement().findAll("a");
- foreach(QWebElement link, links)
+ foreach(const QWebElement &link, links)
{
relativeUrl.setEncodedUrl(link.attribute("href").toUtf8(), KUrl::TolerantMode);
contents << baseUrl.resolved(relativeUrl).toString();
diff --git a/src/webtab.cpp b/src/webtab.cpp
index a6bedc97..47780a44 100644
--- a/src/webtab.cpp
+++ b/src/webtab.cpp
@@ -183,7 +183,7 @@ void WebTab::showRSSInfo(QPoint pos)
QMap<KUrl, QString> map;
- foreach(QWebElement el, col)
+ foreach(const QWebElement &el, col)
{
QString urlString;
if (el.attribute("href").startsWith(QL1S("http")))
diff --git a/src/webview.cpp b/src/webview.cpp
index 878a7403..061dd256 100644
--- a/src/webview.cpp
+++ b/src/webview.cpp
@@ -316,7 +316,7 @@ void WebView::mousePressEvent(QMouseEvent *event)
}
QWebHitTestResult result = page()->mainFrame()->hitTestContent(event->pos());
- _canEnableAutoScroll = !ReKonfig::disableAutoScroll() && !result.isContentEditable() && result.linkUrl().isEmpty();
+ _canEnableAutoScroll = ReKonfig::autoScroll() && !result.isContentEditable() && result.linkUrl().isEmpty();
switch (event->button())
{
@@ -496,6 +496,23 @@ void WebView::keyPressEvent(QKeyEvent *event)
KWebView::keyPressEvent(event);
}
+void WebView::wheelEvent(QWheelEvent *event)
+{
+ // Sync with the zoom slider
+ if (event->modifiers() == Qt::ControlModifier)
+ {
+ emit zoomChanged(zoomFactor());
+ }
+
+ KWebView::wheelEvent(event);
+
+ // Limits of the slider
+ if (zoomFactor() > 1.9)
+ setZoomFactor(1.9);
+ else if (zoomFactor() < 0.1)
+ setZoomFactor(0.1);
+}
+
void WebView::inspect()
{
diff --git a/src/webview.h b/src/webview.h
index bac12e99..a4ba676c 100644
--- a/src/webview.h
+++ b/src/webview.h
@@ -56,6 +56,7 @@ protected:
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void keyPressEvent(QKeyEvent *event);
+ void wheelEvent(QWheelEvent *event);
private slots:
void search();
@@ -73,6 +74,7 @@ private slots:
signals:
void loadUrl(const KUrl &, const Rekonq::OpenType &);
+ void zoomChanged(qreal);
private:
QPoint _mousePos;