aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/cdaudio/settingsdialog.ui
Commit message (Expand)AuthorAgeFilesLines
* fixed typotrialuser022013-01-011-3/+3
* added cddb support (Closes issue 159)trialuser022010-02-081-61/+115
* updated Russian translationtrialuser022009-01-051-1/+1
* cd audio plugintrialuser022009-01-051-0/+161
14b154600cfd71993cd'>32b99cd71
235db3c44
873b67f01

235db3c44
ae75e5707
235db3c44
873b67f01

235db3c44

a9946929b


873b67f01
ee02df793

32b99cd71




a9946929b
32b99cd71
873b67f01
32b99cd71
a9946929b
a9946929b
32b99cd71


a9946929b
32b99cd71
235db3c44
32b99cd71




a9946929b
32b99cd71
873b67f01







235db3c44


a9946929b



0b46e2db0
235db3c44
32b99cd71
873b67f01














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




















                                                                             


                    
                           






                                   
                      

             
                                                 
                                                                 
                                    

                                                                        

                                                               


                                                                                      
                                                                                  

                                                        




                     
                                          
 
                         
     
                       
                      


              
                       
     
                                                     




              
                             
 







                                              


                                                           



                                                             
                                                                          
                 
 














                                                   
/***************************************************************************
 *   Copyright (C) 2008 by Ilya Kotov                                      *
 *   forkotov02@hotmail.ru                                                 *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/

#include <QTimer>
#include <QFile>
#include <QDir>
#include <QSettings>
#include <qmmp/soundcore.h>

#include "popupwidget.h"
#include "notifier.h"

Notifier::Notifier(QObject *parent)
        : General(parent)
{
    m_popupWidget = 0;
    m_l = -1;
    m_r = -1;
    QFile::remove(QDir::homePath()+"/.psi/tune");
    QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
    settings.beginGroup("Notifier");
    m_desktop = settings.value("song_notification", TRUE).toBool();
    m_showVolume = settings.value("volume_notification", TRUE).toBool();
    m_psi = settings.value("psi_notification", FALSE).toBool();
    settings.endGroup();
    m_core = SoundCore::instance();
    connect (m_core, SIGNAL(metaDataChanged ()), SLOT(showMetaData()));
    connect (m_core, SIGNAL(stateChanged (Qmmp::State)), SLOT(setState(Qmmp::State)));
    connect (m_core, SIGNAL(volumeChanged(int, int)), SLOT(showVolume(int, int)));
    if (m_core->state() == Qmmp::Playing) //test message
        showMetaData();
}

Notifier::~Notifier()
{}

void Notifier::setState(Qmmp::State state)
{
    switch ((uint) state)
    {
    case Qmmp::Playing:
    case Qmmp::Paused:
    {
        break;
    }
    case Qmmp::Stopped:
    {
        QFile::remove(QDir::homePath()+"/.psi/tune");
        break;
    }
    }
}

void Notifier::showMetaData()
{
    if (m_desktop)
    {
        if (!m_popupWidget)
            m_popupWidget = new PopupWidget();
        m_popupWidget->showMetaData();
    }

    if (!m_psi)
        return;
    QFile file(QDir::homePath()+"/.psi/tune");   //psi file
    file.open(QIODevice::WriteOnly | QIODevice::Text);
    file.write(m_core->metaData(Qmmp::TITLE).toUtf8()+"\n");
    file.write(m_core->metaData(Qmmp::ARTIST).toUtf8()+"\n");
    file.write(m_core->metaData(Qmmp::ALBUM).toUtf8()+"\n");
    file.write(m_core->metaData(Qmmp::TRACK).toUtf8()+"\n");
    file.write(QString("%1").arg(m_core->totalTime()/1000).toUtf8()+"\n");
    file.close();
}

void Notifier::showVolume(int l, int r)
{
    if (((m_l != l) || (m_r != r)) && m_showVolume)
    {
        if (m_l >= 0)
        {
            if (!m_popupWidget)
                m_popupWidget = new PopupWidget();
            m_popupWidget->showVolume(qMax(l,r));
        }
        m_l = l;
        m_r = r;
    }
}