mirror of
https://github.com/kiwix/kiwix-desktop.git
synced 2025-09-22 19:46:12 -04:00
The sidebar must be under the tabbar.
The tabbar must use the whole length and must not be pushed out by the sidebar. So we need to split the tabwidget into a tabbar and a stackedWidget.
This commit is contained in:
parent
3410252837
commit
300540d4b8
@ -49,7 +49,6 @@ SOURCES += \
|
|||||||
src/topwidget.cpp \
|
src/topwidget.cpp \
|
||||||
src/requestinterceptor.cpp \
|
src/requestinterceptor.cpp \
|
||||||
src/urlschemehandler.cpp \
|
src/urlschemehandler.cpp \
|
||||||
src/tabwidget.cpp \
|
|
||||||
src/webview.cpp \
|
src/webview.cpp \
|
||||||
src/searchbar.cpp \
|
src/searchbar.cpp \
|
||||||
src/mainmenu.cpp \
|
src/mainmenu.cpp \
|
||||||
@ -58,6 +57,7 @@ SOURCES += \
|
|||||||
src/tocsidebar.cpp \
|
src/tocsidebar.cpp \
|
||||||
src/contentmanager.cpp \
|
src/contentmanager.cpp \
|
||||||
src/contentmanagerview.cpp \
|
src/contentmanagerview.cpp \
|
||||||
|
src/tabbar.cpp \
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
src/mainwindow.h \
|
src/mainwindow.h \
|
||||||
@ -68,7 +68,6 @@ HEADERS += \
|
|||||||
src/kconstants.h \
|
src/kconstants.h \
|
||||||
src/requestinterceptor.h \
|
src/requestinterceptor.h \
|
||||||
src/urlschemehandler.h \
|
src/urlschemehandler.h \
|
||||||
src/tabwidget.h \
|
|
||||||
src/webview.h \
|
src/webview.h \
|
||||||
src/searchbar.h \
|
src/searchbar.h \
|
||||||
src/mainmenu.h \
|
src/mainmenu.h \
|
||||||
@ -77,6 +76,7 @@ HEADERS += \
|
|||||||
src/tocsidebar.h \
|
src/tocsidebar.h \
|
||||||
src/contentmanager.h \
|
src/contentmanager.h \
|
||||||
src/contentmanagerview.h \
|
src/contentmanagerview.h \
|
||||||
|
src/tabbar.h \
|
||||||
|
|
||||||
FORMS += \
|
FORMS += \
|
||||||
ui/mainwindow.ui \
|
ui/mainwindow.ui \
|
||||||
|
@ -71,7 +71,7 @@ KiwixApp::KiwixApp(int& argc, char *argv[])
|
|||||||
|
|
||||||
createAction();
|
createAction();
|
||||||
mp_mainWindow = new MainWindow;
|
mp_mainWindow = new MainWindow;
|
||||||
mp_tabWidget = mp_mainWindow->getTabWidget();
|
mp_tabWidget = mp_mainWindow->getTabBar();
|
||||||
mp_tabWidget->setContentManagerView(m_manager.getView());
|
mp_tabWidget->setContentManagerView(m_manager.getView());
|
||||||
postInit();
|
postInit();
|
||||||
|
|
||||||
@ -143,6 +143,20 @@ void KiwixApp::openUrl(const QUrl &url, bool newTab) {
|
|||||||
mp_tabWidget->openUrl(url, newTab);
|
mp_tabWidget->openUrl(url, newTab);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void KiwixApp::setSideBar(KiwixApp::SideBarType type)
|
||||||
|
{
|
||||||
|
auto sideDockWidget = mp_mainWindow->getSideDockWidget();
|
||||||
|
switch(type) {
|
||||||
|
case SEARCH_BAR:
|
||||||
|
sideDockWidget->setCurrentIndex(type);
|
||||||
|
sideDockWidget->show();
|
||||||
|
break;
|
||||||
|
case NONE:
|
||||||
|
sideDockWidget->hide();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void KiwixApp::openRandomUrl(bool newTab)
|
void KiwixApp::openRandomUrl(bool newTab)
|
||||||
{
|
{
|
||||||
auto zimId = mp_tabWidget->currentZimId();
|
auto zimId = mp_tabWidget->currentZimId();
|
||||||
@ -229,6 +243,8 @@ void KiwixApp::createAction()
|
|||||||
|
|
||||||
CREATE_ACTION(FindInPageAction, tr("Find in page"));
|
CREATE_ACTION(FindInPageAction, tr("Find in page"));
|
||||||
SET_SHORTCUT(FindInPageAction, QKeySequence::Find);
|
SET_SHORTCUT(FindInPageAction, QKeySequence::Find);
|
||||||
|
connect(mpa_actions[FindInPageAction], &QAction::triggered,
|
||||||
|
this, [=]() { setSideBar(SEARCH_BAR); });
|
||||||
|
|
||||||
CREATE_ACTION_ICON(ToggleFullscreenAction, "full-screen-enter", tr("Set fullScreen"));
|
CREATE_ACTION_ICON(ToggleFullscreenAction, "full-screen-enter", tr("Set fullScreen"));
|
||||||
SET_SHORTCUT(ToggleFullscreenAction, QKeySequence::FullScreen);
|
SET_SHORTCUT(ToggleFullscreenAction, QKeySequence::FullScreen);
|
||||||
@ -286,10 +302,5 @@ void KiwixApp::createAction()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void KiwixApp::postInit() {
|
void KiwixApp::postInit() {
|
||||||
auto realToggleAction = mp_mainWindow->getSideDockWidget()->toggleViewAction();
|
|
||||||
auto proxyToggleAction = mpa_actions[FindInPageAction];
|
|
||||||
connect(proxyToggleAction, &QAction::triggered, realToggleAction, &QAction::trigger);
|
|
||||||
connect(realToggleAction, &QAction::toggled, proxyToggleAction, &QAction::setChecked);
|
|
||||||
realToggleAction->toggle();
|
|
||||||
emit(m_library.booksChanged());
|
emit(m_library.booksChanged());
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#include "contentmanager.h"
|
#include "contentmanager.h"
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "kiwix/downloader.h"
|
#include "kiwix/downloader.h"
|
||||||
#include "tabwidget.h"
|
#include "tabbar.h"
|
||||||
#include "tocsidebar.h"
|
#include "tocsidebar.h"
|
||||||
#include "urlschemehandler.h"
|
#include "urlschemehandler.h"
|
||||||
#include "requestinterceptor.h"
|
#include "requestinterceptor.h"
|
||||||
@ -49,6 +49,10 @@ public:
|
|||||||
ExitAction,
|
ExitAction,
|
||||||
MAX_ACTION
|
MAX_ACTION
|
||||||
};
|
};
|
||||||
|
enum SideBarType {
|
||||||
|
SEARCH_BAR,
|
||||||
|
NONE
|
||||||
|
};
|
||||||
|
|
||||||
KiwixApp(int& argc, char *argv[]);
|
KiwixApp(int& argc, char *argv[]);
|
||||||
virtual ~KiwixApp();
|
virtual ~KiwixApp();
|
||||||
@ -63,13 +67,14 @@ public:
|
|||||||
Library* getLibrary() { return &m_library; }
|
Library* getLibrary() { return &m_library; }
|
||||||
MainWindow* getMainWindow() { return mp_mainWindow; }
|
MainWindow* getMainWindow() { return mp_mainWindow; }
|
||||||
kiwix::Downloader* getDownloader() { return &m_downloader; }
|
kiwix::Downloader* getDownloader() { return &m_downloader; }
|
||||||
TabWidget* getTabWidget() { return mp_tabWidget; }
|
TabBar* getTabWidget() { return mp_tabWidget; }
|
||||||
QAction* getAction(Actions action);
|
QAction* getAction(Actions action);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void openZimFile(const QString& zimfile="");
|
void openZimFile(const QString& zimfile="");
|
||||||
void openUrl(const QString& url, bool newTab=true);
|
void openUrl(const QString& url, bool newTab=true);
|
||||||
void openUrl(const QUrl& url, bool newTab=true);
|
void openUrl(const QUrl& url, bool newTab=true);
|
||||||
|
void setSideBar(SideBarType type);
|
||||||
void printPage();
|
void printPage();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@ -82,7 +87,7 @@ private:
|
|||||||
kiwix::Downloader m_downloader;
|
kiwix::Downloader m_downloader;
|
||||||
ContentManager m_manager;
|
ContentManager m_manager;
|
||||||
MainWindow* mp_mainWindow;
|
MainWindow* mp_mainWindow;
|
||||||
TabWidget* mp_tabWidget;
|
TabBar* mp_tabWidget;
|
||||||
QErrorMessage* mp_errorDialog;
|
QErrorMessage* mp_errorDialog;
|
||||||
|
|
||||||
UrlSchemeHandler m_schemeHandler;
|
UrlSchemeHandler m_schemeHandler;
|
||||||
|
@ -14,7 +14,8 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
mp_about(new About(this))
|
mp_about(new About(this))
|
||||||
{
|
{
|
||||||
mp_ui->setupUi(this);
|
mp_ui->setupUi(this);
|
||||||
mp_ui->tabWidget->tabBar()->setExpanding(false);
|
mp_ui->tabBar->setExpanding(false);
|
||||||
|
mp_ui->tabBar->setStackedWidget(mp_ui->mainView);
|
||||||
auto app = KiwixApp::instance();
|
auto app = KiwixApp::instance();
|
||||||
connect(app->getAction(KiwixApp::ExitAction), &QAction::triggered,
|
connect(app->getAction(KiwixApp::ExitAction), &QAction::triggered,
|
||||||
this, &QMainWindow::close);
|
this, &QMainWindow::close);
|
||||||
@ -39,12 +40,12 @@ void MainWindow::toggleFullScreen() {
|
|||||||
showFullScreen();
|
showFullScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
TabWidget* MainWindow::getTabWidget()
|
TabBar* MainWindow::getTabBar()
|
||||||
{
|
{
|
||||||
return mp_ui->tabWidget;
|
return mp_ui->tabBar;
|
||||||
}
|
}
|
||||||
|
|
||||||
QDockWidget* MainWindow::getSideDockWidget()
|
QStackedWidget *MainWindow::getSideDockWidget()
|
||||||
{
|
{
|
||||||
return mp_ui->sideDockWidget;
|
return mp_ui->sideBar;
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
#include <QDockWidget>
|
#include <QDockWidget>
|
||||||
#include "webview.h"
|
#include "webview.h"
|
||||||
#include "tabwidget.h"
|
#include "tabbar.h"
|
||||||
#include "tocsidebar.h"
|
#include "tocsidebar.h"
|
||||||
#include "about.h"
|
#include "about.h"
|
||||||
|
|
||||||
@ -20,8 +20,8 @@ public:
|
|||||||
explicit MainWindow(QWidget *parent = 0);
|
explicit MainWindow(QWidget *parent = 0);
|
||||||
~MainWindow();
|
~MainWindow();
|
||||||
|
|
||||||
TabWidget* getTabWidget();
|
TabBar* getTabBar();
|
||||||
QDockWidget* getSideDockWidget();
|
QStackedWidget* getSideDockWidget();
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void toggleFullScreen();
|
void toggleFullScreen();
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "tabwidget.h"
|
#include "tabbar.h"
|
||||||
|
|
||||||
#include "kiwixapp.h"
|
#include "kiwixapp.h"
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
@ -7,15 +7,15 @@
|
|||||||
#define QUITIFNOTCURRENT(VIEW) if((VIEW)!=currentWidget()) {return;}
|
#define QUITIFNOTCURRENT(VIEW) if((VIEW)!=currentWidget()) {return;}
|
||||||
#define CURRENTIFNULL(VIEW) if(nullptr==VIEW) { VIEW = currentWidget();}
|
#define CURRENTIFNULL(VIEW) if(nullptr==VIEW) { VIEW = currentWidget();}
|
||||||
|
|
||||||
TabWidget::TabWidget(QWidget *parent) :
|
TabBar::TabBar(QWidget *parent) :
|
||||||
QTabWidget(parent)
|
QTabBar(parent)
|
||||||
{
|
{
|
||||||
setTabsClosable(true);
|
setTabsClosable(true);
|
||||||
setElideMode(Qt::ElideNone);
|
setElideMode(Qt::ElideNone);
|
||||||
setDocumentMode(true);
|
setDocumentMode(true);
|
||||||
setFocusPolicy(Qt::NoFocus);
|
setFocusPolicy(Qt::NoFocus);
|
||||||
connect(this, &QTabWidget::tabCloseRequested, this, &TabWidget::closeTab);
|
connect(this, &QTabBar::tabCloseRequested, this, &TabBar::closeTab);
|
||||||
connect(this, &QTabWidget::currentChanged, this, &TabWidget::onCurrentChanged);
|
connect(this, &QTabBar::currentChanged, this, &TabBar::onCurrentChanged);
|
||||||
auto app = KiwixApp::instance();
|
auto app = KiwixApp::instance();
|
||||||
connect(app->getAction(KiwixApp::NewTabAction), &QAction::triggered,
|
connect(app->getAction(KiwixApp::NewTabAction), &QAction::triggered,
|
||||||
this, [=]() {
|
this, [=]() {
|
||||||
@ -31,6 +31,10 @@ TabWidget::TabWidget(QWidget *parent) :
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this->closeTab(index);
|
this->closeTab(index);
|
||||||
|
auto widget = mp_stackedWidget->widget(index);
|
||||||
|
mp_stackedWidget->removeWidget(widget);
|
||||||
|
widget->setParent(nullptr);
|
||||||
|
delete widget;
|
||||||
});
|
});
|
||||||
connect(app->getAction(KiwixApp::ZoomInAction), &QAction::triggered,
|
connect(app->getAction(KiwixApp::ZoomInAction), &QAction::triggered,
|
||||||
this, [=]() {
|
this, [=]() {
|
||||||
@ -58,13 +62,22 @@ TabWidget::TabWidget(QWidget *parent) :
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabWidget::setContentManagerView(ContentManagerView* view)
|
void TabBar::setStackedWidget(QStackedWidget *widget) {
|
||||||
{
|
mp_stackedWidget = widget;
|
||||||
mp_contentManagerView = view;
|
connect(this, &QTabBar::currentChanged,
|
||||||
addTab(mp_contentManagerView, "");
|
widget, &QStackedWidget::setCurrentIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
WebView* TabWidget::createNewTab(bool setCurrent)
|
void TabBar::setContentManagerView(ContentManagerView* view)
|
||||||
|
{
|
||||||
|
qInfo() << "add widget";
|
||||||
|
mp_contentManagerView = view;
|
||||||
|
mp_stackedWidget->addWidget(mp_contentManagerView);
|
||||||
|
mp_stackedWidget->show();
|
||||||
|
addTab("contentManager");
|
||||||
|
}
|
||||||
|
|
||||||
|
WebView* TabBar::createNewTab(bool setCurrent)
|
||||||
{
|
{
|
||||||
WebView* webView = new WebView();
|
WebView* webView = new WebView();
|
||||||
connect(webView, &WebView::titleChanged, this,
|
connect(webView, &WebView::titleChanged, this,
|
||||||
@ -78,14 +91,15 @@ WebView* TabWidget::createNewTab(bool setCurrent)
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
// Ownership of webview is passed to the tabWidget
|
// Ownership of webview is passed to the tabWidget
|
||||||
addTab(webView, "");
|
mp_stackedWidget->addWidget(webView);
|
||||||
|
auto index = addTab("");
|
||||||
if (setCurrent) {
|
if (setCurrent) {
|
||||||
setCurrentWidget(webView);
|
setCurrentIndex(index);
|
||||||
}
|
}
|
||||||
return webView;
|
return webView;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabWidget::openUrl(const QUrl& url, bool newTab)
|
void TabBar::openUrl(const QUrl& url, bool newTab)
|
||||||
{
|
{
|
||||||
WebView* webView = currentWidget();
|
WebView* webView = currentWidget();
|
||||||
if (newTab || !webView) {
|
if (newTab || !webView) {
|
||||||
@ -95,31 +109,31 @@ void TabWidget::openUrl(const QUrl& url, bool newTab)
|
|||||||
webView->setUrl(url);
|
webView->setUrl(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabWidget::setTitleOf(const QString& title, WebView* webView)
|
void TabBar::setTitleOf(const QString& title, WebView* webView)
|
||||||
{
|
{
|
||||||
CURRENTIFNULL(webView);
|
CURRENTIFNULL(webView);
|
||||||
if (title.startsWith("zim://")) {
|
if (title.startsWith("zim://")) {
|
||||||
auto url = QUrl(title);
|
auto url = QUrl(title);
|
||||||
setTabText(indexOf(webView), url.path());
|
setTabText(mp_stackedWidget->indexOf(webView), url.path());
|
||||||
} else {
|
} else {
|
||||||
setTabText(indexOf(webView), title);
|
setTabText(mp_stackedWidget->indexOf(webView), title);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabWidget::setIconOf(const QIcon &icon, WebView *webView)
|
void TabBar::setIconOf(const QIcon &icon, WebView *webView)
|
||||||
{
|
{
|
||||||
CURRENTIFNULL(webView);
|
CURRENTIFNULL(webView);
|
||||||
setTabIcon(indexOf(webView), icon);
|
setTabIcon(mp_stackedWidget->indexOf(webView), icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString TabWidget::currentZimId()
|
QString TabBar::currentZimId()
|
||||||
{
|
{
|
||||||
if (!currentWidget())
|
if (!currentWidget())
|
||||||
return "";
|
return "";
|
||||||
return currentWidget()->zimId();
|
return currentWidget()->zimId();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabWidget::triggerWebPageAction(QWebEnginePage::WebAction action, WebView *webView)
|
void TabBar::triggerWebPageAction(QWebEnginePage::WebAction action, WebView *webView)
|
||||||
{
|
{
|
||||||
CURRENTIFNULL(webView);
|
CURRENTIFNULL(webView);
|
||||||
QUITIFNULL(webView);
|
QUITIFNULL(webView);
|
||||||
@ -127,7 +141,7 @@ void TabWidget::triggerWebPageAction(QWebEnginePage::WebAction action, WebView *
|
|||||||
webView->setFocus();
|
webView->setFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabWidget::closeTab(int index)
|
void TabBar::closeTab(int index)
|
||||||
{
|
{
|
||||||
if (index == 0)
|
if (index == 0)
|
||||||
return;
|
return;
|
||||||
@ -137,7 +151,7 @@ void TabWidget::closeTab(int index)
|
|||||||
delete webview;
|
delete webview;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabWidget::onCurrentChanged(int index)
|
void TabBar::onCurrentChanged(int index)
|
||||||
{
|
{
|
||||||
if (index == -1)
|
if (index == -1)
|
||||||
return;
|
return;
|
@ -1,22 +1,24 @@
|
|||||||
#ifndef TABWIDGET_H
|
#ifndef TABWIDGET_H
|
||||||
#define TABWIDGET_H
|
#define TABWIDGET_H
|
||||||
|
|
||||||
#include <QTableWidget>
|
#include <QTabBar>
|
||||||
|
#include <QStackedWidget>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include "webview.h"
|
#include "webview.h"
|
||||||
#include "contentmanagerview.h"
|
#include "contentmanagerview.h"
|
||||||
|
|
||||||
class TabWidget : public QTabWidget
|
class TabBar : public QTabBar
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_PROPERTY(QString currentZimId READ currentZimId NOTIFY currentZimIdChanged)
|
Q_PROPERTY(QString currentZimId READ currentZimId NOTIFY currentZimIdChanged)
|
||||||
public:
|
public:
|
||||||
TabWidget(QWidget* parent=nullptr);
|
TabBar(QWidget* parent=nullptr);
|
||||||
|
void setStackedWidget(QStackedWidget* widget);
|
||||||
|
|
||||||
void setContentManagerView(ContentManagerView* view);
|
void setContentManagerView(ContentManagerView* view);
|
||||||
WebView* createNewTab(bool setCurrent);
|
WebView* createNewTab(bool setCurrent);
|
||||||
WebView* widget(int index) { return (index != 0) ? static_cast<WebView*>(QTabWidget::widget(index)) : nullptr; }
|
WebView* widget(int index) { return (index != 0) ? static_cast<WebView*>(mp_stackedWidget->widget(index)) : nullptr; }
|
||||||
WebView* currentWidget() { auto current = QTabWidget::currentWidget();
|
WebView* currentWidget() { auto current = mp_stackedWidget->currentWidget();
|
||||||
if (current == mp_contentManagerView) return nullptr;
|
if (current == mp_contentManagerView) return nullptr;
|
||||||
return static_cast<WebView*>(current);
|
return static_cast<WebView*>(current);
|
||||||
}
|
}
|
||||||
@ -38,6 +40,7 @@ public slots:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
ContentManagerView* mp_contentManagerView;
|
ContentManagerView* mp_contentManagerView;
|
||||||
|
QStackedWidget* mp_stackedWidget;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
@ -8,6 +8,8 @@ TocSideBar::TocSideBar(QWidget *parent) :
|
|||||||
{
|
{
|
||||||
mp_ui->setupUi(this);
|
mp_ui->setupUi(this);
|
||||||
mp_findLineEdit = mp_ui->findEdit;
|
mp_findLineEdit = mp_ui->findEdit;
|
||||||
|
connect(mp_ui->hideButton, &QPushButton::released,
|
||||||
|
this, [=]() { KiwixApp::instance()->setSideBar(KiwixApp::NONE);});
|
||||||
connect(mp_ui->fNextButton, &QPushButton::released,
|
connect(mp_ui->fNextButton, &QPushButton::released,
|
||||||
this, &TocSideBar::findNext);
|
this, &TocSideBar::findNext);
|
||||||
connect(mp_ui->fPreviousButton, &QPushButton::released,
|
connect(mp_ui->fPreviousButton, &QPushButton::released,
|
||||||
|
@ -20,23 +20,43 @@
|
|||||||
<string>Form</string>
|
<string>Form</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<property name="sizeConstraint">
|
|
||||||
<enum>QLayout::SetMaximumSize</enum>
|
|
||||||
</property>
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,0,0">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<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="hideButton">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Hide</string>
|
||||||
|
</property>
|
||||||
|
<property name="flat">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout" stretch="0,0,0">
|
||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
@ -90,6 +110,8 @@
|
|||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources>
|
<resources>
|
||||||
<include location="../resources/kiwix.qrc"/>
|
<include location="../resources/kiwix.qrc"/>
|
||||||
|
@ -24,6 +24,9 @@
|
|||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="centralWidget">
|
<widget class="QWidget" name="centralWidget">
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
<property name="leftMargin">
|
<property name="leftMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
@ -37,18 +40,41 @@
|
|||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="TabWidget" name="tabWidget">
|
<widget class="TabBar" name="tabBar" native="true"/>
|
||||||
<property name="tabShape">
|
</item>
|
||||||
<enum>QTabWidget::Rounded</enum>
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<item>
|
||||||
<number>-1</number>
|
<widget class="QStackedWidget" name="sideBar">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="documentMode">
|
<property name="sizePolicy">
|
||||||
<bool>false</bool>
|
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::NoFrame</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Plain</enum>
|
||||||
|
</property>
|
||||||
|
<property name="lineWidth">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<widget class="TocSideBar" name="tocsidebar"/>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QStackedWidget" name="mainView"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="TopWidget" name="mainToolBar">
|
<widget class="TopWidget" name="mainToolBar">
|
||||||
@ -60,39 +86,6 @@
|
|||||||
</attribute>
|
</attribute>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QStatusBar" name="statusBar"/>
|
<widget class="QStatusBar" name="statusBar"/>
|
||||||
<widget class="QDockWidget" name="sideDockWidget">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="floating">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<property name="features">
|
|
||||||
<set>QDockWidget::DockWidgetClosable</set>
|
|
||||||
</property>
|
|
||||||
<property name="allowedAreas">
|
|
||||||
<set>Qt::LeftDockWidgetArea</set>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Find in page</string>
|
|
||||||
</property>
|
|
||||||
<attribute name="dockWidgetArea">
|
|
||||||
<number>1</number>
|
|
||||||
</attribute>
|
|
||||||
<widget class="QWidget" name="dockWidgetContents">
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
||||||
<item>
|
|
||||||
<widget class="TocSideBar" name="tocPage" native="true"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
</widget>
|
||||||
<layoutdefault spacing="6" margin="11"/>
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
@ -101,18 +94,18 @@
|
|||||||
<extends>QToolBar</extends>
|
<extends>QToolBar</extends>
|
||||||
<header>src/topwidget.h</header>
|
<header>src/topwidget.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
<customwidget>
|
|
||||||
<class>TabWidget</class>
|
|
||||||
<extends>QTabWidget</extends>
|
|
||||||
<header>src/tabwidget.h</header>
|
|
||||||
<container>1</container>
|
|
||||||
</customwidget>
|
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>TocSideBar</class>
|
<class>TocSideBar</class>
|
||||||
<extends>QWidget</extends>
|
<extends>QWidget</extends>
|
||||||
<header>src/tocsidebar.h</header>
|
<header>src/tocsidebar.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>TabBar</class>
|
||||||
|
<extends>QWidget</extends>
|
||||||
|
<header>src/tabbar.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections/>
|
<connections/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user