mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-24 10:52:51 +00:00
plasma: ensure the launcher navigator is always visible
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
37d7961b62
commit
1c27f695a9
1 changed files with 26 additions and 23 deletions
|
@ -452,14 +452,13 @@ void LauncherFavorites::slotActivated()
|
||||||
class LauncherNavigatorStruct
|
class LauncherNavigatorStruct
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
LauncherNavigatorStruct(Plasma::SvgWidget* _svgwidget, Plasma::ToolButton *_toolbutton, const QString &_id)
|
LauncherNavigatorStruct(Plasma::SvgWidget* _svgwidget, Plasma::ToolButton *_toolbutton)
|
||||||
: svgwidget(_svgwidget), toolbutton(_toolbutton), id(_id)
|
: svgwidget(_svgwidget), toolbutton(_toolbutton)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Plasma::SvgWidget* svgwidget;
|
Plasma::SvgWidget* svgwidget;
|
||||||
Plasma::ToolButton* toolbutton;
|
Plasma::ToolButton* toolbutton;
|
||||||
QString id;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class LauncherNavigator : public Plasma::Frame
|
class LauncherNavigator : public Plasma::Frame
|
||||||
|
@ -493,9 +492,6 @@ LauncherNavigator::LauncherNavigator(QGraphicsWidget *parent)
|
||||||
setFrameShadow(Plasma::Frame::Sunken);
|
setFrameShadow(Plasma::Frame::Sunken);
|
||||||
m_layout = new QGraphicsLinearLayout(Qt::Horizontal, this);
|
m_layout = new QGraphicsLinearLayout(Qt::Horizontal, this);
|
||||||
setLayout(m_layout);
|
setLayout(m_layout);
|
||||||
|
|
||||||
m_spacer = kMakeSpacer(this);
|
|
||||||
m_layout->addItem(m_spacer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LauncherNavigator::reset()
|
void LauncherNavigator::reset()
|
||||||
|
@ -543,7 +539,7 @@ void LauncherNavigator::addNavigation(const QString &id, const QString &text)
|
||||||
}
|
}
|
||||||
m_spacer = kMakeSpacer(this);
|
m_spacer = kMakeSpacer(this);
|
||||||
m_layout->addItem(m_spacer);
|
m_layout->addItem(m_spacer);
|
||||||
m_navigations.append(new LauncherNavigatorStruct(svgwidget, toolbutton, id));
|
m_navigations.append(new LauncherNavigatorStruct(svgwidget, toolbutton));
|
||||||
}
|
}
|
||||||
|
|
||||||
void LauncherNavigator::slotReleased()
|
void LauncherNavigator::slotReleased()
|
||||||
|
@ -574,6 +570,9 @@ private:
|
||||||
LauncherApplet* m_launcherapplet;
|
LauncherApplet* m_launcherapplet;
|
||||||
QGraphicsLinearLayout* m_layout;
|
QGraphicsLinearLayout* m_layout;
|
||||||
LauncherNavigator* m_launchernavigator;
|
LauncherNavigator* m_launchernavigator;
|
||||||
|
Plasma::ScrollWidget* m_scrollwidget;
|
||||||
|
QGraphicsWidget* m_iconswidget;
|
||||||
|
QGraphicsLinearLayout* m_iconslayout;
|
||||||
QList<Plasma::IconWidget*> m_iconwidgets;
|
QList<Plasma::IconWidget*> m_iconwidgets;
|
||||||
QString m_id;
|
QString m_id;
|
||||||
};
|
};
|
||||||
|
@ -582,7 +581,11 @@ LauncherApplications::LauncherApplications(QGraphicsWidget *parent, LauncherAppl
|
||||||
: QGraphicsWidget(parent),
|
: QGraphicsWidget(parent),
|
||||||
m_launcherapplet(launcherapplet),
|
m_launcherapplet(launcherapplet),
|
||||||
m_layout(nullptr),
|
m_layout(nullptr),
|
||||||
m_launchernavigator(nullptr)
|
m_launchernavigator(nullptr),
|
||||||
|
m_scrollwidget(nullptr),
|
||||||
|
m_iconswidget(nullptr),
|
||||||
|
m_iconslayout(nullptr)
|
||||||
|
|
||||||
{
|
{
|
||||||
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
m_layout = new QGraphicsLinearLayout(Qt::Vertical, this);
|
m_layout = new QGraphicsLinearLayout(Qt::Vertical, this);
|
||||||
|
@ -591,6 +594,13 @@ LauncherApplications::LauncherApplications(QGraphicsWidget *parent, LauncherAppl
|
||||||
m_launchernavigator = new LauncherNavigator(this);
|
m_launchernavigator = new LauncherNavigator(this);
|
||||||
m_layout->addItem(m_launchernavigator);
|
m_layout->addItem(m_launchernavigator);
|
||||||
|
|
||||||
|
m_scrollwidget = kMakeScrollWidget(this);
|
||||||
|
m_iconswidget = new QGraphicsWidget(m_scrollwidget);
|
||||||
|
m_iconslayout = new QGraphicsLinearLayout(Qt::Vertical, m_iconswidget);
|
||||||
|
m_iconswidget->setLayout(m_iconslayout);
|
||||||
|
m_scrollwidget->setWidget(m_iconswidget);
|
||||||
|
m_layout->addItem(m_scrollwidget);
|
||||||
|
|
||||||
slotUpdateLayout();
|
slotUpdateLayout();
|
||||||
|
|
||||||
connect(
|
connect(
|
||||||
|
@ -607,7 +617,7 @@ void LauncherApplications::slotUpdateLayout()
|
||||||
{
|
{
|
||||||
QMutexLocker locker(&m_mutex);
|
QMutexLocker locker(&m_mutex);
|
||||||
foreach (Plasma::IconWidget* iconwidget, m_iconwidgets) {
|
foreach (Plasma::IconWidget* iconwidget, m_iconwidgets) {
|
||||||
m_layout->removeItem(iconwidget);
|
m_iconslayout->removeItem(iconwidget);
|
||||||
}
|
}
|
||||||
qDeleteAll(m_iconwidgets);
|
qDeleteAll(m_iconwidgets);
|
||||||
m_iconwidgets.clear();
|
m_iconwidgets.clear();
|
||||||
|
@ -649,11 +659,11 @@ void LauncherApplications::addGroup(KServiceGroup::Ptr servicegroup)
|
||||||
foreach (const KServiceGroup::Ptr subgroup, servicegroup->groupEntries(KServiceGroup::NoOptions)) {
|
foreach (const KServiceGroup::Ptr subgroup, servicegroup->groupEntries(KServiceGroup::NoOptions)) {
|
||||||
if (serviceCount(subgroup) > 0) {
|
if (serviceCount(subgroup) > 0) {
|
||||||
Plasma::IconWidget* iconwidget = kMakeIconWidget(
|
Plasma::IconWidget* iconwidget = kMakeIconWidget(
|
||||||
this,
|
m_iconswidget,
|
||||||
iconsize, subgroup->caption(), subgroup->comment(), kGenericIcon(subgroup->icon()), subgroup->relPath()
|
iconsize, subgroup->caption(), subgroup->comment(), kGenericIcon(subgroup->icon()), subgroup->relPath()
|
||||||
);
|
);
|
||||||
m_iconwidgets.append(iconwidget);
|
m_iconwidgets.append(iconwidget);
|
||||||
m_layout->addItem(iconwidget);
|
m_iconslayout->addItem(iconwidget);
|
||||||
connect(
|
connect(
|
||||||
iconwidget, SIGNAL(activated()),
|
iconwidget, SIGNAL(activated()),
|
||||||
this, SLOT(slotGroupActivated())
|
this, SLOT(slotGroupActivated())
|
||||||
|
@ -666,11 +676,11 @@ void LauncherApplications::addGroup(KServiceGroup::Ptr servicegroup)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
Plasma::IconWidget* iconwidget = kMakeIconWidget(
|
Plasma::IconWidget* iconwidget = kMakeIconWidget(
|
||||||
this,
|
m_iconswidget,
|
||||||
iconsize, appservice->name(), appservice->comment(), kGenericIcon(appservice->icon()), appservice->entryPath()
|
iconsize, appservice->name(), appservice->comment(), kGenericIcon(appservice->icon()), appservice->entryPath()
|
||||||
);
|
);
|
||||||
m_iconwidgets.append(iconwidget);
|
m_iconwidgets.append(iconwidget);
|
||||||
m_layout->addItem(iconwidget);
|
m_iconslayout->addItem(iconwidget);
|
||||||
connect(
|
connect(
|
||||||
iconwidget, SIGNAL(activated()),
|
iconwidget, SIGNAL(activated()),
|
||||||
this, SLOT(slotAppActivated())
|
this, SLOT(slotAppActivated())
|
||||||
|
@ -1063,7 +1073,6 @@ private:
|
||||||
Plasma::TabBar* m_tabbar;
|
Plasma::TabBar* m_tabbar;
|
||||||
Plasma::ScrollWidget* m_favoritesscrollwidget;
|
Plasma::ScrollWidget* m_favoritesscrollwidget;
|
||||||
LauncherFavorites* m_favoriteswidget;
|
LauncherFavorites* m_favoriteswidget;
|
||||||
Plasma::ScrollWidget* m_applicationsscrollwidget;
|
|
||||||
LauncherApplications* m_applicationswidget;
|
LauncherApplications* m_applicationswidget;
|
||||||
Plasma::ScrollWidget* m_recentscrollwidget;
|
Plasma::ScrollWidget* m_recentscrollwidget;
|
||||||
LauncherRecent* m_recentwidget;
|
LauncherRecent* m_recentwidget;
|
||||||
|
@ -1085,7 +1094,6 @@ LauncherAppletWidget::LauncherAppletWidget(LauncherApplet* auncherapplet)
|
||||||
m_tabbar(nullptr),
|
m_tabbar(nullptr),
|
||||||
m_favoritesscrollwidget(nullptr),
|
m_favoritesscrollwidget(nullptr),
|
||||||
m_favoriteswidget(nullptr),
|
m_favoriteswidget(nullptr),
|
||||||
m_applicationsscrollwidget(nullptr),
|
|
||||||
m_applicationswidget(nullptr),
|
m_applicationswidget(nullptr),
|
||||||
m_recentscrollwidget(nullptr),
|
m_recentscrollwidget(nullptr),
|
||||||
m_recentwidget(nullptr),
|
m_recentwidget(nullptr),
|
||||||
|
@ -1135,18 +1143,14 @@ LauncherAppletWidget::LauncherAppletWidget(LauncherApplet* auncherapplet)
|
||||||
setFocusProxy(m_lineedit);
|
setFocusProxy(m_lineedit);
|
||||||
|
|
||||||
m_tabbar = new Plasma::TabBar(this);
|
m_tabbar = new Plasma::TabBar(this);
|
||||||
// has not effect..
|
|
||||||
// m_tabbar->nativeWidget()->setShape(QTabBar::RoundedSouth);
|
|
||||||
m_favoritesscrollwidget = kMakeScrollWidget(m_tabbar);
|
m_favoritesscrollwidget = kMakeScrollWidget(m_tabbar);
|
||||||
m_favoritesscrollwidget->setMinimumSize(s_minimumsize);
|
m_favoritesscrollwidget->setMinimumSize(s_minimumsize);
|
||||||
m_favoriteswidget = new LauncherFavorites(m_favoritesscrollwidget, m_launcherapplet);
|
m_favoriteswidget = new LauncherFavorites(m_favoritesscrollwidget, m_launcherapplet);
|
||||||
m_favoritesscrollwidget->setWidget(m_favoriteswidget);
|
m_favoritesscrollwidget->setWidget(m_favoriteswidget);
|
||||||
m_tabbar->addTab(KIcon(s_favoriteicon), i18n("Favorites"), m_favoritesscrollwidget);
|
m_tabbar->addTab(KIcon(s_favoriteicon), i18n("Favorites"), m_favoritesscrollwidget);
|
||||||
m_applicationsscrollwidget = kMakeScrollWidget(m_tabbar);
|
m_applicationswidget = new LauncherApplications(m_tabbar, m_launcherapplet);
|
||||||
m_applicationsscrollwidget->setMinimumSize(s_minimumsize);
|
m_applicationswidget->setMinimumSize(s_minimumsize);
|
||||||
m_applicationswidget = new LauncherApplications(m_applicationsscrollwidget, m_launcherapplet);
|
m_tabbar->addTab(KIcon(s_genericicon), i18n("Applications"), m_applicationswidget);
|
||||||
m_applicationsscrollwidget->setWidget(m_applicationswidget);
|
|
||||||
m_tabbar->addTab(KIcon(s_genericicon), i18n("Applications"), m_applicationsscrollwidget);
|
|
||||||
m_recentscrollwidget = kMakeScrollWidget(m_tabbar);
|
m_recentscrollwidget = kMakeScrollWidget(m_tabbar);
|
||||||
m_recentscrollwidget->setMinimumSize(s_minimumsize);
|
m_recentscrollwidget->setMinimumSize(s_minimumsize);
|
||||||
m_recentwidget = new LauncherRecent(m_recentscrollwidget, m_launcherapplet);
|
m_recentwidget = new LauncherRecent(m_recentscrollwidget, m_launcherapplet);
|
||||||
|
@ -1188,7 +1192,6 @@ void LauncherAppletWidget::resetSearch()
|
||||||
m_lineedit->setText(QString());
|
m_lineedit->setText(QString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void LauncherAppletWidget::setAllowedRunners(const QStringList &runners)
|
void LauncherAppletWidget::setAllowedRunners(const QStringList &runners)
|
||||||
{
|
{
|
||||||
m_searchwidget->setAllowedRunners(runners);
|
m_searchwidget->setAllowedRunners(runners);
|
||||||
|
|
Loading…
Add table
Reference in a new issue