File indexing completed on 2024-04-14 04:53:13
0001 /* This file is part of the KDE project 0002 SPDX-FileCopyrightText: 2000 Simon Hausmann <hausmann@kde.org> 0003 SPDX-FileCopyrightText: 2000, 2006 David Faure <faure@kde.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #include "KonqMainWindowAdaptor.h" 0009 #include "KonqViewAdaptor.h" 0010 #include "konqview.h" 0011 0012 #include "konqdebug.h" 0013 #include <kstartupinfo.h> 0014 #include <kwindowsystem_version.h> 0015 0016 KonqMainWindowAdaptor::KonqMainWindowAdaptor(KonqMainWindow *mainWindow) 0017 : QDBusAbstractAdaptor(mainWindow), m_pMainWindow(mainWindow) 0018 { 0019 } 0020 0021 KonqMainWindowAdaptor::~KonqMainWindowAdaptor() 0022 { 0023 } 0024 0025 void KonqMainWindowAdaptor::openUrl(const QString &url, bool tempFile) 0026 { 0027 m_pMainWindow->openFilteredUrl(url, false, tempFile); 0028 } 0029 0030 void KonqMainWindowAdaptor::newTab(const QString &url, bool tempFile) 0031 { 0032 m_pMainWindow->openFilteredUrl(url, true, tempFile); 0033 } 0034 0035 void KonqMainWindowAdaptor::newTabASN(const QString &url, const QByteArray &startup_id, bool tempFile) 0036 { 0037 m_pMainWindow->setAttribute(Qt::WA_NativeWindow, true); 0038 KStartupInfo::setNewStartupId(m_pMainWindow->windowHandle(), startup_id); 0039 m_pMainWindow->openFilteredUrl(url, true, tempFile); 0040 } 0041 0042 void KonqMainWindowAdaptor::newTabASNWithMimeType(const QString &url, const QString &mimetype, const QByteArray &startup_id, bool tempFile) 0043 { 0044 m_pMainWindow->setAttribute(Qt::WA_NativeWindow, true); 0045 KStartupInfo::setNewStartupId(m_pMainWindow->windowHandle(), startup_id); 0046 m_pMainWindow->openFilteredUrl(url, mimetype, true, tempFile); 0047 } 0048 0049 void KonqMainWindowAdaptor::reload() 0050 { 0051 m_pMainWindow->slotReload(); 0052 } 0053 0054 QDBusObjectPath KonqMainWindowAdaptor::currentView() 0055 { 0056 qCDebug(KONQUEROR_LOG); 0057 KonqView *view = m_pMainWindow->currentView(); 0058 if (!view) { 0059 return QDBusObjectPath(); 0060 } 0061 0062 return QDBusObjectPath(view->dbusObjectPath()); 0063 } 0064 0065 QDBusObjectPath KonqMainWindowAdaptor::currentPart() 0066 { 0067 KonqView *view = m_pMainWindow->currentView(); 0068 if (!view) { 0069 return QDBusObjectPath(); 0070 } 0071 0072 return QDBusObjectPath(view->partObjectPath()); 0073 } 0074 0075 QDBusObjectPath KonqMainWindowAdaptor::view(int viewNumber) 0076 { 0077 KonqMainWindow::MapViews viewMap = m_pMainWindow->viewMap(); 0078 KonqMainWindow::MapViews::const_iterator it = viewMap.constBegin(); 0079 for (int i = 0; it != viewMap.constEnd() && i < viewNumber; ++i) { 0080 ++it; 0081 } 0082 if (it == viewMap.constEnd()) { 0083 return QDBusObjectPath(); 0084 } 0085 return QDBusObjectPath((*it)->dbusObjectPath()); 0086 } 0087 0088 QDBusObjectPath KonqMainWindowAdaptor::part(int partNumber) 0089 { 0090 KonqMainWindow::MapViews viewMap = m_pMainWindow->viewMap(); 0091 KonqMainWindow::MapViews::const_iterator it = viewMap.constBegin(); 0092 for (int i = 0; it != viewMap.constEnd() && i < partNumber; ++i) { 0093 ++it; 0094 } 0095 if (it == viewMap.constEnd()) { 0096 return QDBusObjectPath(); 0097 } 0098 return QDBusObjectPath((*it)->partObjectPath()); 0099 } 0100 0101 void KonqMainWindowAdaptor::splitViewHorizontally() 0102 { 0103 m_pMainWindow->slotSplitViewHorizontal(); 0104 } 0105 0106 void KonqMainWindowAdaptor::splitViewVertically() 0107 { 0108 m_pMainWindow->slotSplitViewVertical(); 0109 } 0110