File indexing completed on 2024-04-21 04:48:10
0001 /* AUDEX CDDA EXTRACTOR 0002 * SPDX-FileCopyrightText: Copyright (C) 2007 Marco Nelles 0003 * <https://userbase.kde.org/Audex> 0004 * 0005 * SPDX-License-Identifier: GPL-3.0-or-later 0006 */ 0007 0008 #ifndef EXTRACTINGPROGRESSDIALOG_H 0009 #define EXTRACTINGPROGRESSDIALOG_H 0010 0011 #include <QAbstractButton> 0012 #include <QDBusConnection> 0013 #include <QDBusMessage> 0014 #include <QDialog> 0015 #include <QDialogButtonBox> 0016 #include <QPushButton> 0017 #include <QVBoxLayout> 0018 #include <QWidget> 0019 0020 #include <KColorScheme> 0021 #include <KConfigGroup> 0022 #include <KMessageBox> 0023 0024 #include "core/audex.h" 0025 #include "models/cddamodel.h" 0026 #include "models/profilemodel.h" 0027 0028 #include "logviewdialog.h" 0029 0030 #include "ui_extractingprogresswidgetUI.h" 0031 0032 class ExtractingProgressDialog : public QDialog 0033 { 0034 Q_OBJECT 0035 0036 public: 0037 ExtractingProgressDialog(ProfileModel *profile_model, CDDAModel *cdda_model, QWidget *parent = nullptr); 0038 ~ExtractingProgressDialog() override; 0039 0040 public Q_SLOTS: 0041 int exec() override; 0042 0043 private Q_SLOTS: 0044 void toggle_details(); 0045 void cancel(); 0046 0047 void slotCancel(); 0048 void slotClose(); 0049 void slotEncoderLog(); 0050 void slotExtractLog(); 0051 0052 void show_changed_extract_track(int no, int total, const QString &artist, const QString &title); 0053 void show_changed_encode_track(int no, int total, const QString &filename); 0054 0055 void show_progress_extract_track(int percent); 0056 void show_progress_extract_overall(int percent); 0057 void show_progress_encode_track(int percent); 0058 void show_progress_encode_overall(int percent); 0059 0060 void show_speed_encode(double speed); 0061 void show_speed_extract(double speed); 0062 0063 void conclusion(bool successful); 0064 0065 void show_info(const QString &message); 0066 void show_warning(const QString &message); 0067 void show_error(const QString &message, const QString &details); 0068 0069 void ask_timeout(); 0070 0071 private: 0072 QVBoxLayout *mainLayout; 0073 QDialogButtonBox *buttonBox; 0074 QPushButton *cancelButton; 0075 0076 void calc_overall_progress(); 0077 void open_encoder_log_view_dialog(); 0078 void open_extract_log_view_dialog(); 0079 void update_unity(); 0080 0081 private: 0082 Ui::ExtractingProgressWidgetUI ui; 0083 0084 Audex *audex; 0085 ProfileModel *profile_model; 0086 CDDAModel *cdda_model; 0087 0088 bool finished; 0089 0090 bool progressbar_np_flag; 0091 int current_encode_overall; 0092 int current_extract_overall; 0093 unsigned int current_track; 0094 0095 bool p_single_file; 0096 0097 QDBusMessage unity_message; 0098 }; 0099 0100 #endif