AndroidManifestWidget: Fix resizing behavior

This time for real. Change layout from
QScrollArea
 -> QStackedWidget
    -> GeneralPage
    -> EditorPage

to
QStackedWidget
  -> QScrollArea
     -> GeneralPage
  -> EditorPage

Change-Id: Id0d4baca297a5b4d58292fa72faa62b66c91a2dd
Task-number: QTCREATORBUG-14127
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
This commit is contained in:
Daniel Teske
2015-03-12 19:08:11 +01:00
parent c9dc686a04
commit cfe69e6902
2 changed files with 12 additions and 14 deletions

View File

@@ -70,6 +70,7 @@
#include <QFileDialog> #include <QFileDialog>
#include <QTimer> #include <QTimer>
#include <QCheckBox> #include <QCheckBox>
#include <QScrollArea>
#include <limits> #include <limits>
@@ -103,7 +104,7 @@ Project *androidProject(const Utils::FileName &fileName)
} // anonymous namespace } // anonymous namespace
AndroidManifestEditorWidget::AndroidManifestEditorWidget() AndroidManifestEditorWidget::AndroidManifestEditorWidget()
: QScrollArea(), : QStackedWidget(),
m_dirty(false), m_dirty(false),
m_stayClean(false), m_stayClean(false),
m_setAppName(false), m_setAppName(false),
@@ -118,8 +119,6 @@ AndroidManifestEditorWidget::AndroidManifestEditorWidget()
m_editor = new AndroidManifestEditor(this); m_editor = new AndroidManifestEditor(this);
setWidgetResizable(true);
connect(&m_timerParseCheck, SIGNAL(timeout()), connect(&m_timerParseCheck, SIGNAL(timeout()),
this, SLOT(delayedParseCheck())); this, SLOT(delayedParseCheck()));
@@ -129,11 +128,8 @@ AndroidManifestEditorWidget::AndroidManifestEditorWidget()
void AndroidManifestEditorWidget::initializePage() void AndroidManifestEditorWidget::initializePage()
{ {
m_stackedWidget = new QStackedWidget(this);
setWidget(m_stackedWidget);
Core::IContext *myContext = new Core::IContext(this); Core::IContext *myContext = new Core::IContext(this);
myContext->setWidget(m_stackedWidget); myContext->setWidget(this);
myContext->setContext(Core::Context(androidManifestEditorGeneralPaneContextId)); // where is the context used? myContext->setContext(Core::Context(androidManifestEditorGeneralPaneContextId)); // where is the context used?
Core::ICore::addContextObject(myContext); Core::ICore::addContextObject(myContext);
@@ -458,8 +454,12 @@ void AndroidManifestEditorWidget::initializePage()
topLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Fixed, QSizePolicy::MinimumExpanding)); topLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Fixed, QSizePolicy::MinimumExpanding));
m_stackedWidget->insertWidget(General, mainWidget); QScrollArea *mainWidgetScrollArea = new QScrollArea;
m_stackedWidget->insertWidget(Source, m_textEditorWidget); mainWidgetScrollArea->setWidgetResizable(true);
mainWidgetScrollArea->setWidget(mainWidget);
insertWidget(General, mainWidgetScrollArea);
insertWidget(Source, m_textEditorWidget);
} }
bool AndroidManifestEditorWidget::eventFilter(QObject *obj, QEvent *event) bool AndroidManifestEditorWidget::eventFilter(QObject *obj, QEvent *event)
@@ -540,7 +540,7 @@ bool AndroidManifestEditorWidget::isModified() const
AndroidManifestEditorWidget::EditorPage AndroidManifestEditorWidget::activePage() const AndroidManifestEditorWidget::EditorPage AndroidManifestEditorWidget::activePage() const
{ {
return AndroidManifestEditorWidget::EditorPage(m_stackedWidget->currentIndex()); return AndroidManifestEditorWidget::EditorPage(currentIndex());
} }
bool AndroidManifestEditorWidget::setActivePage(EditorPage page) bool AndroidManifestEditorWidget::setActivePage(EditorPage page)
@@ -564,7 +564,7 @@ bool AndroidManifestEditorWidget::setActivePage(EditorPage page)
// m_packageNameLineEdit->setFocus(); // m_packageNameLineEdit->setFocus();
} }
m_stackedWidget->setCurrentIndex(page); setCurrentIndex(page);
return true; return true;
} }

View File

@@ -35,7 +35,6 @@
#include <QAbstractListModel> #include <QAbstractListModel>
#include <QStackedWidget> #include <QStackedWidget>
#include <QScrollArea>
#include <QTimer> #include <QTimer>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
@@ -86,7 +85,7 @@ public:
explicit AndroidManifestTextEditorWidget(AndroidManifestEditorWidget *parent); explicit AndroidManifestTextEditorWidget(AndroidManifestEditorWidget *parent);
}; };
class AndroidManifestEditorWidget : public QScrollArea class AndroidManifestEditorWidget : public QStackedWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
@@ -196,7 +195,6 @@ private:
QTimer m_timerParseCheck; QTimer m_timerParseCheck;
TextEditor::TextEditorWidget *m_textEditorWidget; TextEditor::TextEditorWidget *m_textEditorWidget;
QStackedWidget *m_stackedWidget;
AndroidManifestEditor *m_editor; AndroidManifestEditor *m_editor;
}; };
} // namespace Internal } // namespace Internal