7
7
8
8
#include < DTitlebar>
9
9
#include < DIconButton>
10
+ #include < DButtonBox>
10
11
11
12
#include < QVBoxLayout>
12
13
#include < QApplication>
14
+ #include < QStackedLayout>
13
15
14
16
#include < gui/widgets/cooperationstatewidget.h>
17
+ #include < gui/widgets/devicelistwidget.h>
18
+ #include < gui/widgets/mobilewidget.h>
19
+
20
+ #include < gui/mainwindow_p.h>
15
21
16
22
using namespace cooperation_core ;
17
23
DWIDGET_USE_NAMESPACE
@@ -22,19 +28,46 @@ void MainWindowPrivate::initWindow()
22
28
q->setFixedSize (500 , 630 );
23
29
q->setWindowIcon (QIcon::fromTheme (" dde-cooperation" ));
24
30
31
+ mobileWidget = new MobileWidget (q);
25
32
workspaceWidget = new WorkspaceWidget (q);
26
- q->setCentralWidget (workspaceWidget);
33
+
34
+ stackedLayout = new QStackedLayout;
35
+ stackedLayout->addWidget (workspaceWidget);
36
+ stackedLayout->addWidget (mobileWidget);
37
+ stackedLayout->setCurrentIndex (0 );
38
+
39
+ QWidget *centralWidget = new QWidget ();
40
+ QVBoxLayout *mainLayout = new QVBoxLayout;
41
+ bottomLabel = new BottomLabel (q);
42
+ mainLayout->addLayout (stackedLayout);
43
+ mainLayout->addWidget (bottomLabel);
44
+ mainLayout->setSpacing (0 );
45
+ mainLayout->setContentsMargins (0 , 0 , 0 , 0 );
46
+ centralWidget->setLayout (mainLayout);
47
+
48
+ q->setCentralWidget (centralWidget);
49
+ }
50
+
51
+ void MainWindowPrivate::setIP (const QString &ip)
52
+ {
53
+ bottomLabel->setIp (ip);
27
54
}
28
55
29
56
void MainWindowPrivate::initTitleBar ()
30
57
{
31
58
auto titleBar = q->titlebar ();
32
- DIconButton *refreshBtn = new DIconButton (q);
33
- refreshBtn->setIcon (QIcon::fromTheme (" refresh" ));
34
- refreshBtn->setIconSize (QSize (16 , 16 ));
35
- refreshBtn->setToolTip (tr (" Re-scan for devices" ));
36
- titleBar->addWidget (refreshBtn, Qt::AlignLeft);
37
- connect (refreshBtn, &DIconButton::clicked, q, &MainWindow::onLookingForDevices);
59
+
60
+ DButtonBox *switchBtn = new DButtonBox (q);
61
+ QList<DButtonBoxButton *> list;
62
+ DButtonBoxButton *PCBtn = new DButtonBoxButton (tr (" 电脑协同" ));
63
+ DButtonBoxButton *mobileBtn = new DButtonBoxButton (tr (" 手机协同" ));
64
+ list.append (PCBtn);
65
+ list.append (mobileBtn);
66
+ switchBtn->setButtonList (list, true );
67
+ titleBar->addWidget (switchBtn, Qt::AlignCenter);
68
+ PCBtn->setChecked (true );
69
+ connect (PCBtn, &DButtonBoxButton::clicked, q, [this ] { q->onSwitchMode (CooperationMode::kPC ); });
70
+ connect (mobileBtn, &DButtonBoxButton::clicked, q, [this ] { q->onSwitchMode (CooperationMode::kMobile ); });
38
71
39
72
if (qApp->property (" onlyTransfer" ).toBool ()) {
40
73
titleBar->setMenuVisible (false );
@@ -56,6 +89,10 @@ void MainWindowPrivate::initTitleBar()
56
89
action->setData (MenuAction::kDownloadWindowClient );
57
90
menu->addAction (action);
58
91
92
+ action = new QAction (tr (" Download Mobile client" ), menu);
93
+ action->setData (MenuAction::kDownloadWindowClient );
94
+ menu->addAction (action);
95
+
59
96
QObject::connect (menu, &QMenu::triggered, [this ](QAction *act) {
60
97
bool ok { false };
61
98
int val { act->data ().toInt (&ok) };
0 commit comments