yhkylin-backup-tools/kybackup/leftsiderbarwidget.h

58 lines
1.3 KiB
C++
Executable File

#ifndef LEFTSIDERBARWIDGET_H
#define LEFTSIDERBARWIDGET_H
#include <QWidget>
#include <QObject>
#include <QHBoxLayout>
#include <QLabel>
#include <QPushButton>
#include <QButtonGroup>
#include <QGSettings>
#include "functypeconverter.h"
#include "component/mylabel.h"
#include "component/pixmaplabel.h"
#include "knavigationbar.h"
using namespace kdk;
class LeftsiderbarWidget : public QWidget
{
Q_OBJECT
public:
// 启动模式,不同模式启动时展示的功能模块不同
enum StartMode {
normal,
livecd,
std_user
};
LeftsiderbarWidget(QWidget *parent = nullptr, StartMode mode = StartMode::normal);
~LeftsiderbarWidget();
void initUi();
void paintEvent(QPaintEvent *event);
void setCheckedFunc(int func_type);
signals:
void selected(int func_type);
void doubleClicked();
private:
QGSettings *m_personalQgsettings;
qreal m_transparency = 0.8;
QWidget *m_parent;
StartMode m_mode;
QVBoxLayout *m_leftSideBarVLayout = nullptr;
PixmapLabel *m_mTitleIcon = nullptr;
MyLabel *m_titleLabel = nullptr;
QButtonGroup *m_funcGroup = nullptr;
QStringList m_deplayFuncs;
QMap<int, int> m_idxToFunctype;
QMap<int, int> m_functypeToIdx;
KNavigationBar * m_navigationBar;
};
#endif // LEFTSIDERBARWIDGET_H