-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmainwindow.h
More file actions
125 lines (92 loc) · 2.61 KB
/
Copy pathmainwindow.h
File metadata and controls
125 lines (92 loc) · 2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/* AUDEX CDDA EXTRACTOR
* SPDX-FileCopyrightText: Copyright (C) 2007 Marco Nelles
* <https://userbase.kde.org/Audex>
*
* SPDX-License-Identifier: GPL-3.0-or-later
*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QComboBox>
#include <QDockWidget>
#include <QInputDialog>
#include <QLabel>
#include <QObject>
#include <QTreeView>
#include <QMap>
#include <QAction>
#include <QMenuBar>
#include <QToolBar>
#include <QComboBox>
#include <QMessageBox>
#include <QLineEdit>
#include <QPushButton>
#include <QStatusBar>
#include <cddb/cdinfo.h>
#include <cddb/client.h>
#include <cddb/kcddb.h>
#include "models/cddamodel.h"
#include "models/profilemodel.h"
#include "widgets/cddaheaderwidget.h"
#include "widgets/waitingspinnerwidget.h"
#include "dialogs/errordialog.h"
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow() override;
// if true the widgets style or palette shouldn't be modified
static bool native_style;
private:
bool firstRun();
QAction * action(const QString& name) { return action_collection[name]; }
void resizeEvent(QResizeEvent *event) override;
private Q_SLOTS:
void eject();
void cddb_lookup();
void rip();
void configure();
void new_audio_disc_detected();
void audio_disc_removed();
void cddb_lookup_start();
void cddb_lookup_done(const bool successful);
void update_layout();
void enable_layout(bool enabled);
void current_profile_updated_from_ui(int row);
void update_profile_action(int index);
void update_profile_action();
void split_titles();
void swap_artists_and_titles();
void capitalize();
void auto_fill_artists();
void toggle(const QModelIndex &idx);
void resizeColumns();
void select_all();
void select_none();
void invert_selection();
void cdda_context_menu(const QPoint &pos);
void selection_changed(const int num_selected);
void onQuit();
void onDockLocationChanged(Qt::DockWidgetArea area);
void showAbout();
private:
CDDAModel *cdda_model;
ProfileModel *profile_model;
QLabel *profile_label;
QComboBox *profile_combobox;
QMap<QString, QAction*> action_collection;
void setup_actions();
void setup_layout();
void setupGUI();
QTreeView *cdda_tree_view;
QDockWidget *cdda_header_dock;
CDDAHeaderWidget *cdda_header_widget;
bool layout_enabled;
int current_profile_index;
void set_profile(int profile_index);
TmpDir* tbn_tmp_Dir;
thumbnailer::Thumbnailer* tbn;
WaitingSpinnerWidget * spinner;
};
#endif