BiblioteQ
biblioteq_cd.h
1 /*
2 ** Copyright (c) 2006 - present, Alexis Megas.
3 ** All rights reserved.
4 **
5 ** Redistribution and use in source and binary forms, with or without
6 ** modification, are permitted provided that the following conditions
7 ** are met:
8 ** 1. Redistributions of source code must retain the above copyright
9 ** notice, this list of conditions and the following disclaimer.
10 ** 2. Redistributions in binary form must reproduce the above copyright
11 ** notice, this list of conditions and the following disclaimer in the
12 ** documentation and/or other materials provided with the distribution.
13 ** 3. The name of the author may not be used to endorse or promote products
14 ** derived from BiblioteQ without specific prior written permission.
15 **
16 ** BIBLIOTEQ IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 ** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18 ** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 ** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21 ** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 ** BIBLIOTEQ, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27 
28 #ifndef _BIBLIOTEQ_CD_H_
29 #define _BIBLIOTEQ_CD_H_
30 
31 #include "biblioteq_item.h"
32 #include "ui_biblioteq_cdinfo.h"
33 #include "ui_biblioteq_tracks.h"
34 
35 class biblioteq_cd: public QMainWindow, public biblioteq_item
36 {
37  Q_OBJECT
38 
39  public:
40  biblioteq_cd(biblioteq *parentArg,
41  const QString &oidArg,
42  const QModelIndex &index);
43  ~biblioteq_cd();
44  void duplicate(const QString &p_oid, const int state);
45  void insert(void);
46  void modify(const int state);
47  void search(const QString &field = "", const QString &value = "");
48 
49  void setPublicationDateFormat(const QString &dateFormat)
50  {
51  cd.release_date->setDisplayFormat(dateFormat);
52  }
53 
54  void updateWindow(const int);
55 
56  private:
57  enum TracksColumns
58  {
59  ALBUM_NUMBER = 0,
60  ARTIST = 4,
61  COMPOSER = 5,
62  TRACK_NUMBER = 1,
63  TRACK_RUNTIME = 3,
64  TRACK_TITLE = 2
65  };
66 
67  QAction *m_composer_action;
68  QDialog *m_tracks_diag;
69  QString m_engWindowTitle;
70  Ui_cdDialog cd;
71  Ui_tracksDialog trd;
72  void changeEvent(QEvent *event);
73  void closeEvent(QCloseEvent *event);
74  void prepareFavorites(void);
75 
76  private slots:
77  void setGlobalFonts(const QFont &font);
78  void slotCancel(void);
79  void slotCloseTracksBrowser(void);
80  void slotComputeRuntime(void);
81  void slotDeleteTrack(void);
82  void slotGo(void);
83  void slotInsertTrack(void);
84  void slotPopulateCopiesEditor(void);
85  void slotPopulateTracksBrowser(void);
86  void slotPrepareIcons(void);
87  void slotPrint(void);
88  void slotPublicationDateEnabled(bool state);
89  void slotQuery(void);
90  void slotReset(void);
91  void slotSaveTracks(void);
92  void slotSelectImage(void);
93  void slotShowUsers(void);
94 };
95 
96 #endif
Definition: biblioteq_cd.h:36
Definition: biblioteq_item.h:72
Definition: biblioteq.h:276