aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/streambrowser/streamwindow.h
blob: 8fe50b9176f3bb91399555b819b69b387690826a (plain) (blame)
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
/***************************************************************************
 *   Copyright (C) 2012 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.,                                       *
 *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
 ***************************************************************************/
#ifndef STREAMWINDOW_H
#define STREAMWINDOW_H

#include <QWidget>
#include <QSortFilterProxyModel>
#include "ui_streamwindow.h"

class QNetworkAccessManager;
class QNetworkReply;
class QStandardItemModel;
class QSortFilterProxyModel;
class QMenu;
class StreamsProxyModel;

/**
    @author Ilya Kotov <forkotov02@hotmail.ru>
*/
class StreamWindow : public QWidget
{
Q_OBJECT
public:
    StreamWindow(QWidget *parent = 0);

    ~StreamWindow();

private slots:
    void showText(QNetworkReply *reply);
    void on_updatePushButton_clicked();
    void on_addPushButton_clicked();
    void on_filterLineEdit_textChanged(const QString &text);
    void execIceCastMenu(const QPoint &pos);
    void execFavoritesMenu(const QPoint &pos);
    void addToFavorites();
    void removeFromFavorites();

private:
    void closeEvent(QCloseEvent *);
    void readXml(QIODevice *input, QStandardItemModel *model);

    Ui::StreamWindow ui;
    QNetworkAccessManager *m_http;
    QNetworkReply *m_requestReply;
    QString m_artist, m_title;
    QStandardItemModel *m_iceCastModel, *m_favoritesModel;
    QSortFilterProxyModel *m_iceCastFilterModel, *m_favoritesFilterModel;
    QMenu *m_iceCastMenu;
    QMenu *m_favoritesMenu;
};

/**
    @author Ilya Kotov <forkotov02@hotmail.ru>
*/
class StreamsProxyModel: public QSortFilterProxyModel
{
Q_OBJECT
public:
    StreamsProxyModel(QObject *parent) : QSortFilterProxyModel(parent){}

protected:
    bool lessThan (const QModelIndex &left, const QModelIndex &right) const
    {
        if(left.column() == 2 && right.column() == 2)
        {
            return sourceModel()->data(left).toInt() < sourceModel()->data(right).toInt();
        }
        return QSortFilterProxyModel::lessThan(left, right);
    }
};


#endif
u_HU"> <context> <name>DecoderModPlugFactory</name> <message> <location filename="../decodermodplugfactory.cpp" line="55"/> <source>ModPlug Plugin</source> <translation type="unfinished"></translation> </message> <message> <location filename="../decodermodplugfactory.cpp" line="61"/> <source>ModPlug Files</source> <translation type="unfinished"></translation> </message> <message> <location filename="../decodermodplugfactory.cpp" line="127"/> <source>About ModPlug Audio Plugin</source> <translation type="unfinished"></translation> </message> <message> <location filename="../decodermodplugfactory.cpp" line="128"/> <source>Qmmp ModPlug Audio Plugin</source> <translation type="unfinished"></translation> </message> <message> <location filename="../decodermodplugfactory.cpp" line="129"/> <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source> <translation type="unfinished"></translation> </message> <message> <location filename="../decodermodplugfactory.cpp" line="130"/> <source>Based on the Modplug Plugin for Xmms</source> <translation type="unfinished"></translation> </message> <message> <location filename="../decodermodplugfactory.cpp" line="131"/> <source>Modplug Plugin developers:</source> <translation type="unfinished"></translation> </message> <message> <location filename="../decodermodplugfactory.cpp" line="132"/> <source>Olivier Lapicque &lt;olivierl@jps.net&gt;</source> <translation type="unfinished"></translation> </message> <message> <location filename="../decodermodplugfactory.cpp" line="133"/> <source>Kenton Varda &lt;temporal@gauge3d.org&gt;</source> <translation type="unfinished"></translation> </message> <message> <location filename="../decodermodplugfactory.cpp" line="134"/> <source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source> <translation type="unfinished"></translation> </message> </context> <context> <name>ModPlugMetaDataModel</name> <message> <location filename="../modplugmetadatamodel.cpp" line="71"/> <source>File name</source> <translation type="unfinished"></translation> </message> <message> <location filename="../modplugmetadatamodel.cpp" line="142"/> <source>Type</source> <translation type="unfinished"></translation> </message> <message> <location filename="../modplugmetadatamodel.cpp" line="147"/> <source>Length</source> <translation type="unfinished"></translation> </message> <message> <location filename="../modplugmetadatamodel.cpp" line="148"/> <source>Speed</source> <translation type="unfinished"></translation> </message> <message> <location filename="../modplugmetadatamodel.cpp" line="149"/> <source>Tempo</source> <translation type="unfinished"></translation> </message> <message> <location filename="../modplugmetadatamodel.cpp" line="150"/> <location filename="../modplugmetadatamodel.cpp" line="171"/> <source>Samples</source> <translation type="unfinished"></translation> </message> <message> <location filename="../modplugmetadatamodel.cpp" line="151"/> <location filename="../modplugmetadatamodel.cpp" line="180"/> <source>Instruments</source> <translation type="unfinished"></translation> </message> <message> <location filename="../modplugmetadatamodel.cpp" line="152"/> <source>Patterns</source> <translation type="unfinished"></translation> </message> <message> <location filename="../modplugmetadatamodel.cpp" line="153"/> <source>Channels</source> <translation type="unfinished"></translation> </message> <message> <location filename="../modplugmetadatamodel.cpp" line="185"/> <source>Comment</source> <translation type="unfinished"></translation> </message> </context> <context> <name>SettingsDialog</name> <message> <location filename="../settingsdialog.ui" line="14"/> <source>ModPlug Plugin Settings</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="33"/> <source>Quality</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="45"/> <source>Resolution</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="51"/> <source>16 bit</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="58"/> <source>8 bit</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="74"/> <source>Channels</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="80"/> <source>Stereo</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="87"/> <source>Mono (downmix)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="103"/> <source>Resampling</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="109"/> <source>Nearest (fastest)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="116"/> <source>Linear (fast)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="123"/> <source>Spline (good quality)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="130"/> <source>8-tap Fir (extremely high quality)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="146"/> <source>Sampling Rate</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="152"/> <source>48000 Hz</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="159"/> <source>44100 Hz</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="166"/> <source>22050 Hz</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="173"/> <source>11025 Hz</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="184"/> <source>Effects</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="190"/> <source>Reverb</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="202"/> <location filename="../settingsdialog.ui" line="467"/> <source>Depth (%)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="234"/> <location filename="../settingsdialog.ui" line="368"/> <location filename="../settingsdialog.ui" line="499"/> <location filename="../settingsdialog.ui" line="618"/> <source>0</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="260"/> <location filename="../settingsdialog.ui" line="519"/> <source>Delay (ms)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="292"/> <source>40</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="324"/> <source>Bass Boost</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="336"/> <source>Amount (%)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="394"/> <source>Range (Hz)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="426"/> <source>10</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="458"/> <source>Surround</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="551"/> <source>5</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="577"/> <source>Preamp</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="586"/> <source>Volume</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="656"/> <source>Note: Setting the preamp too high may cause clipping!</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="671"/> <source>Misc</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="677"/> <source>General</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="683"/> <source>Use filename as song title</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="690"/> <source>Noise reduction</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="700"/> <source>Fast playlist info</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="710"/> <source>Play Amiga MOD</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="720"/> <source>Looping</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="726"/> <source>Don&apos;t loop</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="733"/> <source>Loop</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="750"/> <source>time(s)</source> <translation type="unfinished"></translation> </message> <message> <location filename="../settingsdialog.ui" line="770"/> <source>Loop forever</source> <translation type="unfinished"></translation> </message> </context> </TS>