Compare commits

...

4 commits

22 changed files with 71 additions and 1110 deletions

View file

@ -1,7 +1,7 @@
pkgname=qt5-rtp-platformtheme
_pkgname=qt-rtp-platformtheme
pkgver=0.3.1
pkgrel=3
pkgver=0.3.2
pkgrel=1
pkgdesc="A theme engine for Qt5"
arch=(x86_64)
url="https://github.com/rdnvndr/$pkgname"

View file

@ -1,8 +1,8 @@
pkgname=qt6-rtp-platformtheme
_pkgname=qt-rtp-platformtheme
pkgver=0.3.1
pkgrel=4
pkgdesc="A theme engine for Qt5"
pkgver=0.3.2
pkgrel=1
pkgdesc="A theme engine for Qt6"
arch=(x86_64)
url="https://github.com/rdnvndr/$pkgname"
license=('GPL3')

View file

@ -1,8 +1,8 @@
pkgbase=qtcreator
pkgname=(qtcreator qtcreator-devel)
pkgver=14.0.2
_commit=14.0
pkgrel=5
pkgver=15.0.1
_commit=15.0
pkgrel=1
pkgdesc='Lightweight, cross-platform integrated development environment'
arch=(x86_64)
url='https://www.qt.io'
@ -35,7 +35,8 @@ source=("fancymainwindow.patch"
"appstackedpane.patch"
"pylsp.patch"
"pyindent.patch"
"multitextcursor.patch")
"multitextcursor.patch"
"pythonlsp_open.patch")
sha256sums=(SKIP
SKIP
SKIP
@ -47,6 +48,7 @@ sha256sums=(SKIP
SKIP
SKIP
SKIP
SKIP
SKIP)
groups=('modified')
@ -74,8 +76,9 @@ prepare() {
patch -d qt-creator -p1 < appstackedpane.patch
patch -d qt-creator -p1 < fancymainwindow.patch
patch -d qt-creator -p1 < pylsp.patch
patch -d qt-creator -p1 < pyindent.patch
# patch -d qt-creator -p1 < pyindent.patch
patch -d qt-creator -p1 < multitextcursor.patch
patch -d qt-creator -p1 < pythonlsp_open.patch
}
build() {

View file

@ -1,8 +1,8 @@
diff --git a/src/plugins/projectexplorer/appoutputpane.cpp b/src/plugins/projectexplorer/appoutputpane.cpp
index 29c84aec..c8b4394a 100644
index 22e76bd2..ab2b89c6 100644
--- a/src/plugins/projectexplorer/appoutputpane.cpp
+++ b/src/plugins/projectexplorer/appoutputpane.cpp
@@ -40,6 +40,8 @@
@@ -43,6 +43,8 @@
#include <QSpinBox>
#include <QTabBar>
#include <QTabWidget>
@ -11,21 +11,17 @@ index 29c84aec..c8b4394a 100644
#include <QTimer>
#include <QToolButton>
#include <QVBoxLayout>
@@ -74,59 +76,6 @@ static QString msgAttachDebuggerTooltip(const QString &handleDescription = QStri
@@ -78,48 +80,6 @@ static QString msgAttachDebuggerTooltip(const QString &handleDescription = QStri
Tr::tr("Attach debugger to %1").arg(handleDescription);
}
-class TabWidget : public QTabWidget
-{
- Q_OBJECT
-public:
- TabWidget(QWidget *parent = nullptr);
-signals:
- void contextMenuRequested(const QPoint &pos, int index);
-protected:
- bool eventFilter(QObject *object, QEvent *event) override;
-
-private:
- void slotContextMenuRequested(const QPoint &pos);
- bool eventFilter(QObject *object, QEvent *event) override;
- int m_tabIndexForMiddleClick = -1;
-};
-
@ -34,8 +30,6 @@ index 29c84aec..c8b4394a 100644
-{
- tabBar()->installEventFilter(this);
- setContextMenuPolicy(Qt::CustomContextMenu);
- connect(this, &QWidget::customContextMenuRequested,
- this, &TabWidget::slotContextMenuRequested);
-}
-
-bool TabWidget::eventFilter(QObject *object, QEvent *event)
@ -62,16 +56,11 @@ index 29c84aec..c8b4394a 100644
- }
- return QTabWidget::eventFilter(object, event);
-}
-
-void TabWidget::slotContextMenuRequested(const QPoint &pos)
-{
- emit contextMenuRequested(pos, tabBar()->tabAt(pos));
-}
-
AppOutputPane::RunControlTab::RunControlTab(RunControl *runControl, Core::OutputWindow *w) :
runControl(runControl), window(w)
{
@@ -137,16 +86,15 @@ AppOutputPane::RunControlTab::RunControlTab(RunControl *runControl, Core::Output
@@ -130,16 +90,15 @@ AppOutputPane::RunControlTab::RunControlTab(RunControl *runControl, Core::Output
}
AppOutputPane::AppOutputPane() :
@ -91,7 +80,7 @@ index 29c84aec..c8b4394a 100644
m_handler(new ShowOutputTaskHandler(this,
Tr::tr("Show &App Output"),
Tr::tr("Show the output that generated this issue in Application Output."),
@@ -203,18 +151,26 @@ AppOutputPane::AppOutputPane() :
@@ -196,18 +155,22 @@ AppOutputPane::AppOutputPane() :
formatterWidgetsLayout->setContentsMargins(QMargins());
m_formatterWidget->setLayout(formatterWidgetsLayout);
@ -102,7 +91,12 @@ index 29c84aec..c8b4394a 100644
+ connect(m_closeCurrentTabButton, &QToolButton::clicked, this, [this] {
+ closeTab(m_tabWidget->currentIndex());
+ });
+
- m_tabWidget->setDocumentMode(true);
- m_tabWidget->setTabsClosable(true);
- m_tabWidget->setMovable(true);
- connect(m_tabWidget, &QTabWidget::tabCloseRequested,
- this, [this](int index) { closeTab(index); });
+ m_tabComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
+ m_tabComboBox->addItem(Tr::tr("<no configuration>"));
+ connect(m_tabComboBox, &QComboBox::activated,
@ -110,24 +104,15 @@ index 29c84aec..c8b4394a 100644
+ connect(m_tabWidget, &QStackedWidget::currentChanged,
+ m_tabComboBox, &QComboBox::setCurrentIndex);
- m_tabWidget->setDocumentMode(true);
- m_tabWidget->setTabsClosable(true);
- m_tabWidget->setMovable(true);
- connect(m_tabWidget, &QTabWidget::tabCloseRequested,
- this, [this](int index) { closeTab(index); });
+ // Spacer (?)
- connect(m_tabWidget, &QTabWidget::currentChanged,
+ connect(m_tabWidget, &QStackedWidget::currentChanged,
this, &AppOutputPane::tabChanged);
- connect(m_tabWidget, &TabWidget::contextMenuRequested,
- connect(m_tabWidget, &QWidget::customContextMenuRequested,
- this, &AppOutputPane::contextMenuRequested);
+// connect(m_tabWidget, &TabWidget::contextMenuRequested,
+// this, &AppOutputPane::contextMenuRequested);
connect(SessionManager::instance(), &SessionManager::aboutToUnloadSession,
this, &AppOutputPane::aboutToUnloadSession);
@@ -281,9 +237,7 @@ const AppOutputPane::RunControlTab *AppOutputPane::tabFor(const QWidget *outputW
@@ -276,9 +239,7 @@ const AppOutputPane::RunControlTab *AppOutputPane::tabFor(const QWidget *outputW
void AppOutputPane::updateCloseActions()
{
const int tabCount = m_tabWidget->count();
@ -138,7 +123,7 @@ index 29c84aec..c8b4394a 100644
}
bool AppOutputPane::aboutToClose() const
@@ -305,8 +259,8 @@ QWidget *AppOutputPane::outputWidget(QWidget *)
@@ -300,8 +261,8 @@ QWidget *AppOutputPane::outputWidget(QWidget *)
QList<QWidget *> AppOutputPane::toolBarWidgets() const
{
@ -149,7 +134,7 @@ index 29c84aec..c8b4394a 100644
}
void AppOutputPane::clearContents()
@@ -418,7 +372,7 @@ void AppOutputPane::createNewOutputWindow(RunControl *rc)
@@ -414,7 +375,7 @@ void AppOutputPane::createNewOutputWindow(RunControl *rc)
// Update the title.
const int tabIndex = m_tabWidget->indexOf(tab->window);
QTC_ASSERT(tabIndex != -1, return);
@ -158,7 +143,7 @@ index 29c84aec..c8b4394a 100644
updateOutputFileName(tabIndex, rc);
tab->window->scrollToBottom();
@@ -459,7 +413,12 @@ void AppOutputPane::createNewOutputWindow(RunControl *rc)
@@ -456,7 +417,12 @@ void AppOutputPane::createNewOutputWindow(RunControl *rc)
ow, updateBehaviorSettings);
m_runControlTabs.push_back(RunControlTab(rc, ow));
@ -172,7 +157,7 @@ index 29c84aec..c8b4394a 100644
updateOutputFileName(m_tabWidget->count() - 1, rc);
qCDebug(appOutputLog) << "AppOutputPane::createNewOutputWindow: Adding tab for" << rc;
updateCloseActions();
@@ -642,7 +601,13 @@ void AppOutputPane::closeTab(int tabIndex, CloseTabMode closeTabMode)
@@ -669,7 +635,13 @@ void AppOutputPane::closeTab(int tabIndex, CloseTabMode closeTabMode)
return;
}
@ -187,12 +172,13 @@ index 29c84aec..c8b4394a 100644
delete window;
Utils::erase(m_runControlTabs, [runControl](const RunControlTab &t) {
@@ -742,26 +707,6 @@ void AppOutputPane::tabChanged(int i)
@@ -770,27 +742,6 @@ void AppOutputPane::tabChanged(int i)
}
}
-void AppOutputPane::contextMenuRequested(const QPoint &pos, int index)
-void AppOutputPane::contextMenuRequested(const QPoint &pos)
-{
- const int index = m_tabWidget->tabBar()->tabAt(pos);
- const QList<QAction *> actions = {m_closeCurrentTabAction, m_closeAllTabsAction, m_closeOtherTabsAction};
- QAction *action = QMenu::exec(actions, m_tabWidget->mapToGlobal(pos), nullptr, m_tabWidget);
- if (action == m_closeAllTabsAction) {
@ -215,10 +201,10 @@ index 29c84aec..c8b4394a 100644
{
const RunControlTab * const tab = tabFor(runControl);
diff --git a/src/plugins/projectexplorer/appoutputpane.h b/src/plugins/projectexplorer/appoutputpane.h
index f7cbb653..e52b08d1 100644
index 0b83ac29..123e901a 100644
--- a/src/plugins/projectexplorer/appoutputpane.h
+++ b/src/plugins/projectexplorer/appoutputpane.h
@@ -17,6 +17,8 @@ QT_BEGIN_NAMESPACE
@@ -16,6 +16,8 @@ QT_BEGIN_NAMESPACE
class QToolButton;
class QAction;
class QPoint;
@ -227,22 +213,21 @@ index f7cbb653..e52b08d1 100644
QT_END_NAMESPACE
namespace Core { class OutputWindow; }
@@ -29,7 +31,6 @@ class Project;
@@ -27,7 +29,6 @@ class RunControl;
namespace Internal {
class ShowOutputTaskHandler;
-class TabWidget;
class AppOutputPane : public Core::IOutputPane
{
@@ -119,18 +120,17 @@ private:
enum class AppOutputPaneMode { FlashOnOutput, PopupOnOutput, PopupOnFirstOutput };
@@ -136,17 +137,16 @@ private:
void loadSettings();
void storeSettings() const;
- TabWidget *m_tabWidget;
+ QStackedWidget *m_tabWidget;
QVector<RunControlTab> m_runControlTabs;
int m_runControlCount = 0;
QAction *m_stopAction;
- QAction *m_closeCurrentTabAction;
- QAction *m_closeAllTabsAction;

View file

@ -0,0 +1,28 @@
diff --git a/src/plugins/python/pythoneditor.cpp b/src/plugins/python/pythoneditor.cpp
index 5854b92d..acaf4132 100644
--- a/src/plugins/python/pythoneditor.cpp
+++ b/src/plugins/python/pythoneditor.cpp
@@ -297,8 +297,7 @@ PythonDocument::PythonDocument()
void PythonDocument::updateCurrentPython()
{
- if (Core::DocumentModel::entryForDocument(this))
- updatePython(detectPython(filePath()));
+ updatePython(detectPython(filePath()));
}
void PythonDocument::updatePython(const FilePath &python)
diff --git a/src/plugins/python/pythonlanguageclient.cpp b/src/plugins/python/pythonlanguageclient.cpp
index bbfb5c75..199702a8 100644
--- a/src/plugins/python/pythonlanguageclient.cpp
+++ b/src/plugins/python/pythonlanguageclient.cpp
@@ -334,8 +337,7 @@ void PyLSConfigureAssistant::installPythonLanguageServer(const FilePath &python,
void PyLSConfigureAssistant::openDocument(const FilePath &python, TextEditor::TextDocument *document)
{
resetEditorInfoBar(document);
- if (!PythonSettings::pylsEnabled() || !python.exists()
- || !Core::DocumentModel::entryForDocument(document)) {
+ if (!PythonSettings::pylsEnabled() || !python.exists()) {
return;
}

View file

@ -1,119 +0,0 @@
pkgbase=qtcreator
pkgname=(qtcreator qtcreator-devel)
pkgver=15.0.0
_commit=15.0
pkgrel=4
pkgdesc='Lightweight, cross-platform integrated development environment'
arch=(x86_64)
url='https://www.qt.io'
license=("Apache-2.0")
depends=(qt6-tools qt6-svg qt6-quick3d qt6-webengine qt6-serialport qt6-shadertools qt6-5compat
clang clazy yaml-cpp litehtml) # syntax-highlighting
makedepends=(cmake llvm python clang)
options=(docs)
optdepends=('qt6-doc: integrated Qt documentation'
'qt6-examples: welcome page examples'
'qt6-translations: for other languages'
'gdb: debugger'
'cmake: cmake project support'
'x11-ssh-askpass: ssh support'
'git: git support'
'mercurial: mercurial support'
'bzr: bazaar support'
'valgrind: analyze support'
'perf: performer analyzer'
'mlocate: locator filter')
source=("fancymainwindow.patch"
"projectmodels.patch"
"navigationwidget.patch"
"breakpoint.patch"
"attach.patch"
"perf.patch"
"doxygen.patch"
"pythonproject.patch"
"appstackedpane.patch"
"pylsp.patch"
"pyindent.patch"
"multitextcursor.patch")
sha256sums=(SKIP
SKIP
SKIP
SKIP
SKIP
SKIP
SKIP
SKIP
SKIP
SKIP
SKIP
SKIP)
groups=('modified')
prepare() {
cd $srcdir
# git clone --branch ${_commit} --depth 1 --shallow-submodules git@github.com:qt-creator/qt-creator.git
# cd qt-creator
# git submodule update --init src/libs/3rdparty/googletest
# git submodule update --init src/shared/qbs
# git submodule update --init src/tools/perfparser
# cd ..
git clone --branch ${_commit} --depth 1 --shallow-submodules --recurse-submodules git@github.com:qt-creator/qt-creator.git
rm -r qt-creator/src/libs/qlitehtml/src/3rdparty
patch -d qt-creator -p1 < projectmodels.patch
patch -d qt-creator -p1 < navigationwidget.patch
patch -d qt-creator -p1 < breakpoint.patch
patch -d qt-creator -p1 < attach.patch
patch -d qt-creator -p1 < perf.patch
patch -d qt-creator -p1 < doxygen.patch
patch -d qt-creator -p1 < pythonproject.patch
patch -d qt-creator -p1 < appstackedpane.patch
patch -d qt-creator -p1 < fancymainwindow.patch
patch -d qt-creator -p1 < pylsp.patch
patch -d qt-creator -p1 < pyindent.patch
patch -d qt-creator -p1 < multitextcursor.patch
}
build() {
# Clang
# export CC=/usr/bin/clang
# export CXX=/usr/bin/clang++
# export CXXFLAGS="-march=znver2 -mtune=znver2 -O2 -pipe -fno-plt -fexceptions \
# -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
# -fPIC -Qunused-arguments -flto=thin"
# export CFLAGS="-march=znver2 -mtune=znver2 -O2 -pipe -fno-plt -fexceptions \
# -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
# -fPIC -Qunused-arguments -flto=thin"
cmake -B build -S qt-creator \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBEXECDIR=lib \
-DWITH_DOCS=ON \
-DBUILD_DEVELOPER_DOCS=ON \
-DBUILD_QBS=OFF \
-DQTC_CLANG_BUILDMODE_MATCH=ON \
-DCLANGTOOLING_LINK_CLANG_DYLIB=ON
cmake --build build
export QT_QPA_PLATFORMTHEME=""; cmake --build build --target docs
}
package_qtcreator() {
DESTDIR="$pkgdir" cmake --install build
# Install docs
cp -r build/share/doc "$pkgdir"/usr/share
install -Dm644 qt-creator/LICENSE.GPL3-EXCEPT "$pkgdir"/usr/share/licenses/qtcreator/LICENSE.GPL3-EXCEPT
}
package_qtcreator-devel() {
pkgdesc+=' (development files)'
depends=(qtcreator)
optdepends=()
DESTDIR="$pkgdir" cmake --install build --component Devel
}

View file

@ -1,13 +0,0 @@
diff --git a/src/plugins/projectexplorer/appoutputpane.cpp b/src/plugins/projectexplorer/appoutputpane.cpp
index 9bea0e0d..60c04f86 100644
--- a/src/plugins/projectexplorer/appoutputpane.cpp
+++ b/src/plugins/projectexplorer/appoutputpane.cpp
@@ -160,6 +160,8 @@ AppOutputPane::AppOutputPane() :
setObjectName("AppOutputPane"); // Used in valgrind engine
loadSettings();
+ m_tabWidget->setStyleSheet("QTabBar::tab { height: 24px; }");
+ m_tabWidget->setTabBarAutoHide(true);
// Rerun
m_reRunButton->setIcon(Utils::Icons::RUN_SMALL_TOOLBAR.icon());

View file

@ -1,244 +0,0 @@
diff --git a/src/plugins/projectexplorer/appoutputpane.cpp b/src/plugins/projectexplorer/appoutputpane.cpp
index 22e76bd2..ab2b89c6 100644
--- a/src/plugins/projectexplorer/appoutputpane.cpp
+++ b/src/plugins/projectexplorer/appoutputpane.cpp
@@ -43,6 +43,8 @@
#include <QSpinBox>
#include <QTabBar>
#include <QTabWidget>
+#include <QStackedWidget>
+#include <QComboBox>
#include <QTimer>
#include <QToolButton>
#include <QVBoxLayout>
@@ -78,48 +80,6 @@ static QString msgAttachDebuggerTooltip(const QString &handleDescription = QStri
Tr::tr("Attach debugger to %1").arg(handleDescription);
}
-class TabWidget : public QTabWidget
-{
-public:
- TabWidget(QWidget *parent = nullptr);
-
-private:
- bool eventFilter(QObject *object, QEvent *event) override;
- int m_tabIndexForMiddleClick = -1;
-};
-
-TabWidget::TabWidget(QWidget *parent)
- : QTabWidget(parent)
-{
- tabBar()->installEventFilter(this);
- setContextMenuPolicy(Qt::CustomContextMenu);
-}
-
-bool TabWidget::eventFilter(QObject *object, QEvent *event)
-{
- if (object == tabBar()) {
- if (event->type() == QEvent::MouseButtonPress) {
- auto *me = static_cast<QMouseEvent *>(event);
- if (me->button() == Qt::MiddleButton) {
- m_tabIndexForMiddleClick = tabBar()->tabAt(me->pos());
- event->accept();
- return true;
- }
- } else if (event->type() == QEvent::MouseButtonRelease) {
- auto *me = static_cast<QMouseEvent *>(event);
- if (me->button() == Qt::MiddleButton) {
- int tab = tabBar()->tabAt(me->pos());
- if (tab != -1 && tab == m_tabIndexForMiddleClick)
- emit tabCloseRequested(tab);
- m_tabIndexForMiddleClick = -1;
- event->accept();
- return true;
- }
- }
- }
- return QTabWidget::eventFilter(object, event);
-}
-
AppOutputPane::RunControlTab::RunControlTab(RunControl *runControl, Core::OutputWindow *w) :
runControl(runControl), window(w)
{
@@ -130,16 +90,15 @@ AppOutputPane::RunControlTab::RunControlTab(RunControl *runControl, Core::Output
}
AppOutputPane::AppOutputPane() :
- m_tabWidget(new TabWidget),
+ m_tabWidget(new QStackedWidget),
m_stopAction(new QAction(Tr::tr("Stop"), this)),
- m_closeCurrentTabAction(new QAction(Tr::tr("Close Tab"), this)),
- m_closeAllTabsAction(new QAction(Tr::tr("Close All Tabs"), this)),
- m_closeOtherTabsAction(new QAction(Tr::tr("Close Other Tabs"), this)),
m_reRunButton(new QToolButton),
m_stopButton(new QToolButton),
m_attachButton(new QToolButton),
m_settingsButton(new QToolButton),
m_formatterWidget(new QWidget),
+ m_tabComboBox(new QComboBox),
+ m_closeCurrentTabButton(new QToolButton),
m_handler(new ShowOutputTaskHandler(this,
Tr::tr("Show &App Output"),
Tr::tr("Show the output that generated this issue in Application Output."),
@@ -196,18 +155,22 @@ AppOutputPane::AppOutputPane() :
formatterWidgetsLayout->setContentsMargins(QMargins());
m_formatterWidget->setLayout(formatterWidgetsLayout);
- // Spacer (?)
+ m_closeCurrentTabButton->setToolTip(Tr::tr("Close output configuration."));
+ m_closeCurrentTabButton->setIcon(Utils::Icons::CLOSE_TOOLBAR.icon());
+ m_closeCurrentTabButton->setEnabled(false);
+ connect(m_closeCurrentTabButton, &QToolButton::clicked, this, [this] {
+ closeTab(m_tabWidget->currentIndex());
+ });
- m_tabWidget->setDocumentMode(true);
- m_tabWidget->setTabsClosable(true);
- m_tabWidget->setMovable(true);
- connect(m_tabWidget, &QTabWidget::tabCloseRequested,
- this, [this](int index) { closeTab(index); });
+ m_tabComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
+ m_tabComboBox->addItem(Tr::tr("<no configuration>"));
+ connect(m_tabComboBox, &QComboBox::activated,
+ m_tabWidget, &QStackedWidget::setCurrentIndex);
+ connect(m_tabWidget, &QStackedWidget::currentChanged,
+ m_tabComboBox, &QComboBox::setCurrentIndex);
- connect(m_tabWidget, &QTabWidget::currentChanged,
+ connect(m_tabWidget, &QStackedWidget::currentChanged,
this, &AppOutputPane::tabChanged);
- connect(m_tabWidget, &QWidget::customContextMenuRequested,
- this, &AppOutputPane::contextMenuRequested);
connect(SessionManager::instance(), &SessionManager::aboutToUnloadSession,
this, &AppOutputPane::aboutToUnloadSession);
@@ -276,9 +239,7 @@ const AppOutputPane::RunControlTab *AppOutputPane::tabFor(const QWidget *outputW
void AppOutputPane::updateCloseActions()
{
const int tabCount = m_tabWidget->count();
- m_closeCurrentTabAction->setEnabled(tabCount > 0);
- m_closeAllTabsAction->setEnabled(tabCount > 0);
- m_closeOtherTabsAction->setEnabled(tabCount > 1);
+ m_closeCurrentTabButton->setEnabled(tabCount > 0);
}
bool AppOutputPane::aboutToClose() const
@@ -300,8 +261,8 @@ QWidget *AppOutputPane::outputWidget(QWidget *)
QList<QWidget *> AppOutputPane::toolBarWidgets() const
{
- return QList<QWidget *>{m_reRunButton, m_stopButton, m_attachButton, m_settingsButton,
- m_formatterWidget} + IOutputPane::toolBarWidgets();
+ return QList<QWidget *>{m_tabComboBox, m_closeCurrentTabButton, m_reRunButton, m_stopButton,
+ m_attachButton, m_settingsButton, m_formatterWidget} + IOutputPane::toolBarWidgets();
}
void AppOutputPane::clearContents()
@@ -414,7 +375,7 @@ void AppOutputPane::createNewOutputWindow(RunControl *rc)
// Update the title.
const int tabIndex = m_tabWidget->indexOf(tab->window);
QTC_ASSERT(tabIndex != -1, return);
- m_tabWidget->setTabText(tabIndex, rc->displayName());
+ m_tabComboBox->setItemText(tabIndex, rc->displayName());
updateOutputFileName(tabIndex, rc);
tab->window->scrollToBottom();
@@ -456,7 +417,12 @@ void AppOutputPane::createNewOutputWindow(RunControl *rc)
ow, updateBehaviorSettings);
m_runControlTabs.push_back(RunControlTab(rc, ow));
- m_tabWidget->addTab(ow, rc->displayName());
+ if (m_tabWidget->count() > 0) {
+ m_tabComboBox->addItem(rc->displayName());
+ } else {
+ m_tabComboBox->setItemText(0, rc->displayName());
+ }
+ m_tabWidget->addWidget(ow);
updateOutputFileName(m_tabWidget->count() - 1, rc);
qCDebug(appOutputLog) << "AppOutputPane::createNewOutputWindow: Adding tab for" << rc;
updateCloseActions();
@@ -669,7 +635,13 @@ void AppOutputPane::closeTab(int tabIndex, CloseTabMode closeTabMode)
return;
}
- m_tabWidget->removeTab(tabIndex);
+ m_tabWidget->removeWidget(tabWidget);
+ if (m_tabWidget->count() > 0) {
+ m_tabComboBox->removeItem(tabIndex);
+ } else {
+ m_tabComboBox->setItemText(tabIndex, Tr::tr("<no configuration>"));
+ m_tabComboBox->setCurrentIndex(0);
+ }
delete window;
Utils::erase(m_runControlTabs, [runControl](const RunControlTab &t) {
@@ -770,27 +742,6 @@ void AppOutputPane::tabChanged(int i)
}
}
-void AppOutputPane::contextMenuRequested(const QPoint &pos)
-{
- const int index = m_tabWidget->tabBar()->tabAt(pos);
- const QList<QAction *> actions = {m_closeCurrentTabAction, m_closeAllTabsAction, m_closeOtherTabsAction};
- QAction *action = QMenu::exec(actions, m_tabWidget->mapToGlobal(pos), nullptr, m_tabWidget);
- if (action == m_closeAllTabsAction) {
- closeTabs(AppOutputPane::CloseTabWithPrompt);
- return;
- }
-
- const int currentIdx = index != -1 ? index : m_tabWidget->currentIndex();
- if (action == m_closeCurrentTabAction) {
- if (currentIdx >= 0)
- closeTab(currentIdx);
- } else if (action == m_closeOtherTabsAction) {
- for (int t = m_tabWidget->count() - 1; t >= 0; t--)
- if (t != currentIdx)
- closeTab(t);
- }
-}
-
void AppOutputPane::runControlFinished(RunControl *runControl)
{
const RunControlTab * const tab = tabFor(runControl);
diff --git a/src/plugins/projectexplorer/appoutputpane.h b/src/plugins/projectexplorer/appoutputpane.h
index 0b83ac29..123e901a 100644
--- a/src/plugins/projectexplorer/appoutputpane.h
+++ b/src/plugins/projectexplorer/appoutputpane.h
@@ -16,6 +16,8 @@ QT_BEGIN_NAMESPACE
class QToolButton;
class QAction;
class QPoint;
+class QStackedWidget;
+class QComboBox;
QT_END_NAMESPACE
namespace Core { class OutputWindow; }
@@ -27,7 +29,6 @@ class RunControl;
namespace Internal {
class ShowOutputTaskHandler;
-class TabWidget;
enum class AppOutputPaneMode { FlashOnOutput, PopupOnOutput, PopupOnFirstOutput };
@@ -136,17 +137,16 @@ private:
void loadSettings();
void storeSettings() const;
- TabWidget *m_tabWidget;
+ QStackedWidget *m_tabWidget;
QVector<RunControlTab> m_runControlTabs;
QAction *m_stopAction;
- QAction *m_closeCurrentTabAction;
- QAction *m_closeAllTabsAction;
- QAction *m_closeOtherTabsAction;
QToolButton *m_reRunButton;
QToolButton *m_stopButton;
QToolButton *m_attachButton;
QToolButton * const m_settingsButton;
QWidget *m_formatterWidget;
+ QComboBox *m_tabComboBox;
+ QToolButton *m_closeCurrentTabButton;
ShowOutputTaskHandler * const m_handler;
AppOutputSettings m_settings;
};

View file

@ -1,29 +0,0 @@
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index cf82aa6e..9fa6050b 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -119,6 +119,7 @@
#include <extensionsystem/pluginmanager.h>
#include <extensionsystem/pluginspec.h>
+#include <extensionsystem/invoker.h>
#include <texteditor/findinfiles.h>
#include <texteditor/tabsettings.h>
@@ -2970,6 +2971,16 @@ void ProjectExplorerPlugin::runProject(Project *pro, Id mode, const bool forceSk
{
if (!pro)
return;
+
+ for (auto *rc : ProjectExplorerPlugin::instance()->allRunControls()) {
+ if (rc->isRunning() && rc->project() == pro &&
+ mode == ProjectExplorer::Constants::DEBUG_RUN_MODE) {
+ ExtensionSystem::Invoker<void>(
+ ExtensionSystem::PluginManager::getObjectByName("DebuggerPlugin"),
+ "attachExternalApplication", rc);
+ return;
+ }
+ }
if (Target *target = pro->activeTarget())
if (RunConfiguration *rc = target->activeRunConfiguration())

View file

@ -1,155 +0,0 @@
diff -cr a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
*** a/src/plugins/debugger/debuggerplugin.cpp 2022-10-25 00:00:23.378435033 +0300
--- b/src/plugins/debugger/debuggerplugin.cpp 2022-10-24 23:56:32.034431011 +0300
***************
*** 635,640 ****
--- 635,642 ----
int lineNumber, QMenu *menu);
void setOrRemoveBreakpoint();
+ void setMessageTracepoint();
+ void editBreakpoint();
void enableOrDisableBreakpoint();
void updateDebugWithoutDeployMenu();
***************
*** 688,693 ****
--- 689,696 ----
QAction m_setOrRemoveBreakpointAction{Tr::tr("Set or Remove Breakpoint")};
QAction m_enableOrDisableBreakpointAction{Tr::tr("Enable or Disable Breakpoint")};
QAction m_reloadDebuggingHelpersAction{Tr::tr("Reload Debugging Helpers")};
+ QAction m_setMessageTracepointAction{tr("Set Message Tracepoint...")};
+ QAction m_editBreakpoint{tr("Edit Breakpoint...")};
BreakpointManager m_breakpointManager;
QString m_lastPermanentStatusMessage;
***************
*** 1092,1103 ****
--- 1095,1118 ----
connect(&m_setOrRemoveBreakpointAction, &QAction::triggered,
this, &DebuggerPluginPrivate::setOrRemoveBreakpoint);
+ cmd = ActionManager::registerAction(&m_setMessageTracepointAction, "Debugger.SetMessageTracepoint");
+ debugMenu->addAction(cmd);
+ cmd->setDefaultKeySequence(QKeySequence(tr("F8")));
+ connect(&m_setMessageTracepointAction, &QAction::triggered,
+ this, &DebuggerPluginPrivate::setMessageTracepoint);
+
cmd = ActionManager::registerAction(&m_enableOrDisableBreakpointAction,
"Debugger.EnableOrDisableBreakpoint");
cmd->setDefaultKeySequence(QKeySequence(useMacShortcuts ? Tr::tr("Ctrl+F8") : Tr::tr("Ctrl+F9")));
debugMenu->addAction(cmd);
connect(&m_enableOrDisableBreakpointAction, &QAction::triggered,
this, &DebuggerPluginPrivate::enableOrDisableBreakpoint);
+
+ cmd = ActionManager::registerAction(&m_editBreakpoint, "EditBreakpoint");
+ cmd->setDefaultKeySequence(QKeySequence(tr("Ctrl+Shift+F9")));
+ debugMenu->addAction(cmd);
+ connect(&m_editBreakpoint, &QAction::triggered,
+ this, &DebuggerPluginPrivate::editBreakpoint);
debugMenu->addSeparator();
***************
*** 1494,1500 ****
--- 1509,1517 ----
m_watchAction.setEnabled(state != DebuggerFinished && state != DebuggerNotReady);
m_setOrRemoveBreakpointAction.setEnabled(true);
+ m_setMessageTracepointAction.setEnabled(true);
m_enableOrDisableBreakpointAction.setEnabled(true);
+ m_editBreakpoint.setEnabled(true);
}
void DebuggerPluginPrivate::onStartupProjectChanged(Project *project)
***************
*** 1827,1833 ****
--- 1844,1852 ----
{
BaseTextEditor *textEditor = qobject_cast<BaseTextEditor *>(editor);
m_setOrRemoveBreakpointAction.setEnabled(textEditor != nullptr);
+ m_setMessageTracepointAction.setEnabled(textEditor != nullptr);
m_enableOrDisableBreakpointAction.setEnabled(textEditor != nullptr);
+ m_editBreakpoint.setEnabled(textEditor != nullptr);
}
void DebuggerPluginPrivate::requestContextMenu(TextEditorWidget *widget,
***************
*** 1923,1928 ****
--- 1942,1963 ----
}
}
+ void DebuggerPluginPrivate::editBreakpoint()
+ {
+ const BaseTextEditor *textEditor = BaseTextEditor::currentTextEditor();
+ QTC_ASSERT(textEditor, return);
+ const int lineNumber = textEditor->currentLine();
+ ContextData location = getLocationContext(textEditor->textDocument(), lineNumber);
+ if (location.isValid()) {
+ GlobalBreakpoint gbp = BreakpointManager::findBreakpointFromContext(location);
+ if (!gbp) {
+ BreakpointManager::setOrRemoveBreakpoint(location);
+ gbp = BreakpointManager::findBreakpointFromContext(location);
+ }
+ BreakpointManager::editBreakpoint(gbp, ICore::dialogParent());
+ }
+ }
+
void DebuggerPluginPrivate::setOrRemoveBreakpoint()
{
const BaseTextEditor *textEditor = BaseTextEditor::currentTextEditor();
***************
*** 1933,1938 ****
--- 1968,2008 ----
BreakpointManager::setOrRemoveBreakpoint(location);
}
+ void DebuggerPluginPrivate::setMessageTracepoint()
+ {
+ const BaseTextEditor *textEditor = BaseTextEditor::currentTextEditor();
+ QTC_ASSERT(textEditor, return);
+ const int lineNumber = textEditor->currentLine();
+ ContextData location = getLocationContext(textEditor->textDocument(), lineNumber);
+ if (location.isValid()) {
+ GlobalBreakpoint gbp = BreakpointManager::findBreakpointFromContext(location);
+ if (gbp)
+ return;
+
+ QString message;
+ if (location.type == LocationByAddress) {
+ //: Message tracepoint: Address hit.
+ message = tr("0x%1 hit").arg(location.address, 0, 16);
+ } else {
+ //: Message tracepoint: %1 file, %2 line %3 function hit.
+ message = tr("%1:%2 %3() hit").arg(location.fileName.fileName()).
+ arg(location.textPosition.line).
+ arg(cppFunctionAt(location.fileName, location.textPosition.line));
+ }
+ QInputDialog dialog; // Create wide input dialog.
+ dialog.setWindowFlags(dialog.windowFlags()
+ & ~(Qt::MSWindowsFixedSizeDialogHint));
+ dialog.resize(600, dialog.height());
+ dialog.setWindowTitle(tr("Add Message Tracepoint"));
+ dialog.setLabelText (tr("Message:"));
+ dialog.setTextValue(message);
+ if (dialog.exec() != QDialog::Accepted || dialog.textValue().isEmpty())
+ return;
+ message = dialog.textValue();
+ BreakpointManager::setOrRemoveBreakpoint(location, message);
+ }
+ }
+
void DebuggerPluginPrivate::enableOrDisableBreakpoint()
{
const BaseTextEditor *textEditor = BaseTextEditor::currentTextEditor();
***************
*** 1964,1969 ****
--- 2034,2040 ----
m_watchAction.setEnabled(false);
m_setOrRemoveBreakpointAction.setEnabled(false);
+ m_setMessageTracepointAction.setEnabled(false);
m_enableOrDisableBreakpointAction.setEnabled(false);
//m_snapshotAction.setEnabled(false);

View file

@ -1,26 +0,0 @@
diff --git a/src/plugins/cppeditor/doxygengenerator.cpp b/src/plugins/cppeditor/doxygengenerator.cpp
index c77f3de7..04df411d 100644
--- a/src/plugins/cppeditor/doxygengenerator.cpp
+++ b/src/plugins/cppeditor/doxygengenerator.cpp
@@ -116,8 +116,10 @@ QString DoxygenGenerator::generate(QTextCursor cursor, DeclarationAST *decl)
assignCommentOffset(cursor);
QString comment;
- writeNewLine(&comment);
- writeContinuation(&comment);
+ if (m_style != CppStyleA) {
+ writeNewLine(&comment);
+ writeContinuation(&comment);
+ }
if (decltr
&& decltr->core_declarator
@@ -226,7 +228,7 @@ QString DoxygenGenerator::commandSpelling(Command command)
void DoxygenGenerator::writeEnd(QString *comment) const
{
if (m_style == CppStyleA)
- comment->append(QLatin1String("///"));
+ comment->chop(1);
else if (m_style == CppStyleB)
comment->append(QLatin1String("//!"));
else

View file

@ -1,260 +0,0 @@
diff --git a/src/libs/utils/fancymainwindow.cpp b/src/libs/utils/fancymainwindow.cpp
index 4f282659..d824a459 100644
--- a/src/libs/utils/fancymainwindow.cpp
+++ b/src/libs/utils/fancymainwindow.cpp
@@ -110,6 +110,12 @@ public:
QVariant saveState() const;
void restoreState(const QVariant &data);
+
+ bool eventFilter(QObject *, QEvent *event) override;
+ void enterEvent(QEnterEvent *event) override;
+ void leaveEvent(QEvent *event) override;
+ void handleMouseTimeout();
+ void handleToplevelChanged(bool floating);
FancyMainWindow *q;
@@ -124,6 +130,9 @@ private:
QWidget *m_hiddenInnerWidget = nullptr;
int m_hiddenInnerWidgetHeight = 0;
TitleBarWidget *m_titleBar;
+ QTimer m_timer;
+ QPoint m_startPos;
+
};
// Stolen from QDockWidgetTitleButton
@@ -190,30 +199,19 @@ void DockWidgetTitleButton::paintEvent(QPaintEvent *)
style()->drawComplexControl(QStyle::CC_ToolButton, &opt, &p, this);
}
-class TitleBarWidget : public StyledBar
+class TitleBarWidget : public QWidget
{
public:
- TitleBarWidget(DockWidget *parent)
- : StyledBar(parent)
- , q(parent)
+ TitleBarWidget(DockWidget *parent, const QStyleOptionDockWidget &opt)
+ : QWidget(parent), q(parent), m_active(true)
{
m_titleLabel = new QLabel(this);
- m_collapseButton = new DockWidgetTitleButton(this);
- updateCollapse();
- connect(m_collapseButton,
- &DockWidgetTitleButton::clicked,
- this,
- &TitleBarWidget::toggleCollapse);
- connect(q->q, &FancyMainWindow::dockWidgetsChanged, this, &TitleBarWidget::updateCollapse);
- connect(q, &DockWidget::collapseChanged, this, &TitleBarWidget::updateCollapse);
-
m_floatButton = new DockWidgetTitleButton(this);
- m_floatButton->setIcon(
- Icon({{":/utils/images/app-on-top.png", Theme::IconsBaseColor}}).icon());
+ m_floatButton->setIcon(q->style()->standardIcon(QStyle::SP_TitleBarNormalButton, &opt, q));
m_closeButton = new DockWidgetTitleButton(this);
- m_closeButton->setIcon(Icons::CLOSE_TOOLBAR.icon());
+ m_closeButton->setIcon(q->style()->standardIcon(QStyle::SP_TitleBarCloseButton, &opt, q));
#ifndef QT_NO_ACCESSIBILITY
m_floatButton->setAccessibleName(QDockWidget::tr("Float"));
@@ -222,33 +220,39 @@ public:
m_closeButton->setAccessibleDescription(QDockWidget::tr("Closes the dock widget"));
#endif
+ setActive(false);
+
+ const int minWidth = 10;
+ const int maxWidth = 10000;
+ const int inactiveHeight = 0;
+ const int activeHeight = m_closeButton->sizeHint().height() + 2;
+
+ m_minimumInactiveSize = QSize(minWidth, inactiveHeight);
+ m_maximumInactiveSize = QSize(maxWidth, inactiveHeight);
+ m_minimumActiveSize = QSize(minWidth, activeHeight);
+ m_maximumActiveSize = QSize(maxWidth, activeHeight);
+
auto layout = new QHBoxLayout(this);
layout->setSpacing(0);
layout->setContentsMargins(4, 0, 0, 0);
- layout->addWidget(m_collapseButton);
layout->addWidget(m_titleLabel);
layout->addStretch();
layout->addWidget(m_floatButton);
layout->addWidget(m_closeButton);
setLayout(layout);
- m_closeButton->setVisible(false);
- m_floatButton->setVisible(false);
- connect(parent, &QDockWidget::featuresChanged, this, [this] { updateChildren(); });
+ setProperty("managed_titlebar", 1);
+
+ connect(parent, &QDockWidget::featuresChanged, this, [this, parent] {
+ m_closeButton->setVisible(parent->features().testFlag(QDockWidget::DockWidgetClosable));
+ m_floatButton->setVisible(parent->features().testFlag(QDockWidget::DockWidgetFloatable));
+ });
}
void enterEvent(QEnterEvent *event) override
{
- m_hovered = true;
+ setActive(true);
QWidget::enterEvent(event);
- updateChildren();
- }
-
- void leaveEvent(QEvent *event) override
- {
- m_hovered = false;
- QWidget::leaveEvent(event);
- updateChildren();
}
void setActive(bool on)
@@ -259,52 +263,47 @@ public:
void updateChildren()
{
- setVisible(m_active);
- m_floatButton->setVisible(m_hovered
+ bool clickable = isClickable();
+ m_titleLabel->setVisible(clickable);
+
+ m_floatButton->setVisible(clickable
&& q->features().testFlag(QDockWidget::DockWidgetFloatable));
- m_closeButton->setVisible(m_hovered
+ m_closeButton->setVisible(clickable
&& q->features().testFlag(QDockWidget::DockWidgetClosable));
- updateCollapse();
}
- QSize sizeHint() const override
+ bool isClickable() const
{
- ensurePolished();
- return m_active ? QSize(titleMaxWidth, StyledBar::minimumHeight())
- : QSize(titleMaxWidth, titleInactiveHeight);
+ return m_active;
}
- QSize minimumSizeHint() const override
+ QSize sizeHint() const override
{
ensurePolished();
- return m_active ? QSize(titleMinWidth, StyledBar::minimumHeight())
- : QSize(titleMinWidth, titleInactiveHeight);
+ return isClickable() ? m_maximumActiveSize : m_maximumInactiveSize;
}
- void toggleCollapse() { q->setCollapsed(!q->isCollapsed()); }
-
- void updateCollapse()
+ QSize minimumSizeHint() const override
{
- const bool supported = q->supportsCollapse();
- m_collapseButton->setVisible(supported);
- if (q->isCollapsed())
- m_collapseButton->setIcon(Icons::NEXT_TOOLBAR.icon());
- else
- m_collapseButton->setIcon(Icons::ARROW_DOWN_TOOLBAR.icon());
+ ensurePolished();
+ return isClickable() ? m_minimumActiveSize : m_minimumInactiveSize;
}
private:
DockWidget *q;
- bool m_active = true;
- bool m_hovered = false;
+ bool m_active;
+ QSize m_minimumActiveSize;
+ QSize m_maximumActiveSize;
+ QSize m_minimumInactiveSize;
+ QSize m_maximumInactiveSize;
public:
QLabel *m_titleLabel;
- DockWidgetTitleButton *m_collapseButton;
DockWidgetTitleButton *m_floatButton;
DockWidgetTitleButton *m_closeButton;
};
+
DockWidget::DockWidget(QWidget *inner, FancyMainWindow *parent, bool immutable)
: QDockWidget(parent)
, q(parent)
@@ -321,7 +320,7 @@ DockWidget::DockWidget(QWidget *inner, FancyMainWindow *parent, bool immutable)
QStyleOptionDockWidget opt;
initStyleOption(&opt);
- m_titleBar = new TitleBarWidget(this);
+ m_titleBar = new TitleBarWidget(this, opt);
m_titleBar->m_titleLabel->setText(title);
setTitleBarWidget(m_titleBar);
@@ -330,6 +329,13 @@ DockWidget::DockWidget(QWidget *inner, FancyMainWindow *parent, bool immutable)
return;
}
+ m_timer.setSingleShot(true);
+ m_timer.setInterval(500);
+
+ connect(&m_timer, &QTimer::timeout, this, &DockWidget::handleMouseTimeout);
+ connect(this, &QDockWidget::topLevelChanged, this, &DockWidget::handleToplevelChanged);
+
+ m_titleBar->setActive(false);
connect(toggleViewAction(), &QAction::triggered, this, [this] {
if (isVisible())
raise();
@@ -451,6 +457,49 @@ void DockWidget::setCollapsed(bool collapse)
emit collapseChanged();
}
+bool DockWidget::eventFilter(QObject *, QEvent *event)
+{
+ if (event->type() == QEvent::MouseMove) {
+ auto me = static_cast<QMouseEvent *>(event);
+ int y = me->pos().y();
+ int x = me->pos().x();
+ int h = qMin(8, m_titleBar->m_floatButton->height());
+ if (!isFloating() && widget() && 0 <= x && x < widget()->width() && 0 <= y && y <= h) {
+ m_timer.start();
+ m_startPos = mapToGlobal(me->pos());
+ }
+ }
+ return false;
+}
+
+void DockWidget::enterEvent(QEnterEvent *event)
+{
+ QApplication::instance()->installEventFilter(this);
+ QDockWidget::enterEvent(event);
+}
+
+void DockWidget::leaveEvent(QEvent *event)
+{
+ if (!isFloating()) {
+ m_timer.stop();
+ m_titleBar->setActive(false);
+ }
+ QApplication::instance()->removeEventFilter(this);
+ QDockWidget::leaveEvent(event);
+}
+
+void DockWidget::handleMouseTimeout()
+{
+ QPoint dist = m_startPos - QCursor::pos();
+ if (!isFloating() && dist.manhattanLength() < 4)
+ m_titleBar->setActive(true);
+}
+
+void DockWidget::handleToplevelChanged(bool floating)
+{
+ m_titleBar->setActive(floating);
+}
+
const char kDockWidgetInnerWidgetHeight[] = "InnerWidgetHeight";
QVariant DockWidget::saveState() const

View file

@ -1,17 +0,0 @@
diff --git a/src/libs/utils/multitextcursor.cpp b/src/libs/utils/multitextcursor.cpp
index a02bfebe..edd18bba 100644
--- a/src/libs/utils/multitextcursor.cpp
+++ b/src/libs/utils/multitextcursor.cpp
@@ -411,10 +407,10 @@ bool MultiTextCursor::handleMoveKeyEvent(QKeyEvent *e,
} else if (multiCursorEvent(e, QKeySequence::SelectPreviousWord)) {
op = QTextCursor::WordLeft;
mode = QTextCursor::KeepAnchor;
- } else if (multiCursorEvent(e, QKeySequence::SelectStartOfLine)) {
+ } else if (e == QKeySequence::SelectStartOfLine) {
op = QTextCursor::StartOfLine;
mode = QTextCursor::KeepAnchor;
- } else if (multiCursorEvent(e, QKeySequence::SelectEndOfLine)) {
+ } else if (e == QKeySequence::SelectEndOfLine) {
op = QTextCursor::EndOfLine;
mode = QTextCursor::KeepAnchor;
} else if (multiCursorEvent(e, QKeySequence::SelectStartOfBlock)) {

View file

@ -1,17 +0,0 @@
diff --git a/src/plugins/coreplugin/navigationwidget.cpp b/src/plugins/coreplugin/navigationwidget.cpp
index 9aec8e44..7613b9df 100644
--- a/src/plugins/coreplugin/navigationwidget.cpp
+++ b/src/plugins/coreplugin/navigationwidget.cpp
@@ -209,12 +209,6 @@ QWidget *NavigationWidget::activateSubWidget(Id factoryId, Side fallbackSide)
{
NavigationWidget *navigationWidget = instance(fallbackSide);
int preferredPosition = -1;
-
- if (const auto it = s_activationsMap.constFind(factoryId); it != s_activationsMap.constEnd()) {
- navigationWidget = instance(it->side);
- preferredPosition = it->position;
- }
-
return navigationWidget->activateSubWidget(factoryId, preferredPosition);
}

View file

@ -1,20 +0,0 @@
diff -cr a/src/plugins/perfprofiler/perfprofilerflamegraphview.cpp b/src/plugins/perfprofiler/perfprofilerflamegraphview.cpp
*** a/src/plugins/perfprofiler/perfprofilerflamegraphview.cpp 2023-03-21 21:24:25.080007370 +0300
--- b/src/plugins/perfprofiler/perfprofilerflamegraphview.cpp 2023-03-21 20:50:14.850038617 +0300
***************
*** 47,53 ****
void PerfProfilerFlameGraphView::selectByTypeId(int typeId)
{
! rootObject()->setProperty("selectedTypeId", typeId);
}
void PerfProfilerFlameGraphView::resetRoot()
--- 47,53 ----
void PerfProfilerFlameGraphView::selectByTypeId(int typeId)
{
! // rootObject()->setProperty("selectedTypeId", typeId);
}
void PerfProfilerFlameGraphView::resetRoot()

View file

@ -1,70 +0,0 @@
diff -cr a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp
*** a/src/plugins/projectexplorer/projectmodels.cpp 2021-09-30 05:33:49.000000000 +0300
--- b/src/plugins/projectexplorer/projectmodels.cpp 2021-11-07 15:40:11.945407765 +0300
***************
*** 480,493 ****
if (m_filterDisabledFiles && !node->isEnabled())
continue;
if (FolderNode *subFolderNode = node->asFolderNode()) {
! bool isHidden = m_filterProjects && !subFolderNode->showInSimpleTree();
if (m_hideSourceGroups) {
if (subFolderNode->isVirtualFolderType()) {
- auto vnode = static_cast<VirtualFolderNode *>(subFolderNode);
- if (vnode->isSourcesOrHeaders()) {
isHidden = true;
hasHiddenSourcesOrHeaders = true;
- }
}
}
if (!isHidden && Utils::insert(*seen, subFolderNode)) {
--- 480,491 ----
if (m_filterDisabledFiles && !node->isEnabled())
continue;
if (FolderNode *subFolderNode = node->asFolderNode()) {
! bool isHidden = m_filterProjects && (!subFolderNode->showInSimpleTree() ||
! subFolderNode->displayName() == "..");
if (m_hideSourceGroups) {
if (subFolderNode->isVirtualFolderType()) {
isHidden = true;
hasHiddenSourcesOrHeaders = true;
}
}
if (!isHidden && Utils::insert(*seen, subFolderNode)) {
***************
*** 499,505 ****
addFolderNode(parent, subFolderNode, seen);
}
} else if (FileNode *fileNode = node->asFileNode()) {
! if (Utils::insert(*seen, fileNode))
parent->appendChild(new WrapperNode(fileNode));
}
}
--- 499,506 ----
addFolderNode(parent, subFolderNode, seen);
}
} else if (FileNode *fileNode = node->asFileNode()) {
! if (!(m_filterProjects && fileNode->fileType() == FileType::Project) &&
! Utils::insert(*seen, fileNode))
parent->appendChild(new WrapperNode(fileNode));
}
}
diff -cr a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp
*** a/src/plugins/projectexplorer/projectnodes.cpp 2021-11-03 15:01:07.000000000 +0300
--- b/src/plugins/projectexplorer/projectnodes.cpp 2021-11-17 11:18:46.101783059 +0300
***************
*** 848,854 ****
bool FolderNode::showInSimpleTree() const
{
! return false;
}
bool FolderNode::showWhenEmpty() const
--- 848,854 ----
bool FolderNode::showInSimpleTree() const
{
! return true;
}
bool FolderNode::showWhenEmpty() const

View file

@ -1,13 +0,0 @@
diff --git a/src/plugins/python/pythoneditor.cpp b/src/plugins/python/pythoneditor.cpp
index ddd30f2a..ae333cd2 100644
--- a/src/plugins/python/pythoneditor.cpp
+++ b/src/plugins/python/pythoneditor.cpp
@@ -324,7 +324,7 @@ public:
setDocumentCreator([]() { return new PythonDocument; });
setEditorWidgetCreator([]() { return new PythonEditorWidget; });
- setIndenterCreator(&createPythonIndenter);
+// setIndenterCreator(&createPythonIndenter);
setSyntaxHighlighterCreator(&createPythonHighlighter);
setCommentDefinition(CommentDefinition::HashStyle);
setParenthesesMatchingEnabled(true);

View file

@ -1,14 +0,0 @@
diff --git a/src/plugins/python/pythonlanguageclient.cpp b/src/plugins/python/pythonlanguageclient.cpp
index 3c05b8f8..c092860f 100644
--- a/src/plugins/python/pythonlanguageclient.cpp
+++ b/src/plugins/python/pythonlanguageclient.cpp
@@ -89,6 +89,9 @@ static PythonLanguageServerState checkPythonLanguageServer(const FilePath &pytho
using namespace std::chrono_literals;
pythonProcess.runBlocking(2s);
bool pipAvailable = pythonProcess.allOutput().startsWith("pip ");
+
+ if (FilePath("/usr/bin/pylsp").withExecutableSuffix().exists())
+ return {PythonLanguageServerState::Installed, lspPath};
if (lspPath.pathAppended("bin").pathAppended("pylsp").withExecutableSuffix().exists()) {
if (pipAvailable) {

View file

@ -1,21 +0,0 @@
diff --git a/src/plugins/python/pythonbuildsystem.cpp b/src/plugins/python/pythonbuildsystem.cpp
index b2263811..ba4c6bf3 100644
--- a/src/plugins/python/pythonbuildsystem.cpp
+++ b/src/plugins/python/pythonbuildsystem.cpp
@@ -183,14 +183,14 @@ void PythonBuildSystem::triggerParsing()
python = kitPython->command;
const FilePath projectFile = projectFilePath();
- const QString displayName = projectFile.relativePathFrom(projectDirectory()).toUserOutput();
+ const QString displayName = projectFilePath().fileName();
newRoot->addNestedNode(
std::make_unique<PythonFileNode>(projectFile, displayName, FileType::Project));
bool hasQmlFiles = false;
for (const FileEntry &entry : std::as_const(m_files)) {
- const QString displayName = entry.filePath.relativePathFrom(projectDirectory()).toUserOutput();
+ const QString displayName = entry.filePath.fileName();
const FileType fileType = getFileType(entry.filePath);
hasQmlFiles |= fileType == FileType::QML;

View file

@ -1,37 +0,0 @@
diff -cr a/share/qtcreator/translations/qtcreator_ru.ts b/share/qtcreator/translations/qtcreator_ru.ts
*** a/share/qtcreator/translations/qtcreator_ru.ts 2019-01-15 21:03:53.000000000 +0300
--- b/share/qtcreator/translations/qtcreator_ru.ts 2019-01-17 19:56:43.489942378 +0300
***************
*** 5400,5406 ****
</message>
<message>
<source>&lt;Other Locations&gt;</source>
! <translation>&lt;Другие места&gt;</translation>
</message>
<message>
<source>CMake Project was parsed successfully.</source>
--- 5400,5406 ----
</message>
<message>
<source>&lt;Other Locations&gt;</source>
! <translation>Другие места</translation>
</message>
<message>
<source>CMake Project was parsed successfully.</source>
***************
*** 5432,5438 ****
</message>
<message>
<source>&lt;Headers&gt;</source>
! <translation>&lt;Заголовки&gt;</translation>
</message>
</context>
<context>
--- 5432,5438 ----
</message>
<message>
<source>&lt;Headers&gt;</source>
! <translation>Заголовки</translation>
</message>
</context>
<context>

View file

@ -1,6 +1,6 @@
# https://gitlab.archlinux.org/archlinux/packaging/packages/telegram-desktop/-/blob/main/PKGBUILD
pkgname=telegram-desktop-patched
pkgver=5.8.1
pkgver=5.8.3
pkgrel=1
pkgdesc='Official Telegram Desktop client'
arch=('x86_64')

View file

@ -2,7 +2,7 @@
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xterm
pkgver=395
pkgver=396
pkgrel=1
pkgdesc="X Terminal Emulator"
arch=('x86_64')