1 /* $BEGIN_LICENSE 2 3 This file is part of Minitube. 4 Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com> 5 6 Minitube is free software: you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation, either version 3 of the License, or 9 (at your option) any later version. 10 11 Minitube is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with Minitube. If not, see <http://www.gnu.org/licenses/>. 18 19 $END_LICENSE */ 20 21 #ifndef YTREGIONS_H 22 #define YTREGIONS_H 23 24 #include <QtWidgets> 25 26 struct YTRegion { 27 QString id; 28 QString name; 29 bool operator<(const YTRegion &other) const { 30 return name < other.name; 31 } 32 }; 33 34 class YTRegions : public QObject { 35 36 Q_OBJECT 37 38 public: 39 static const QVector<YTRegion> & list(); 40 static const YTRegion & localRegion(); 41 static const YTRegion & defaultRegion(); 42 static void setRegion(const QString ®ionId); 43 static QString currentRegionId(); 44 static const YTRegion ¤tRegion(); 45 static QIcon iconForRegionId(const QString ®ionId); 46 47 private: 48 static YTRegion r(const QString &name, const QString &id); 49 static const YTRegion ®ionById(const QString &id); 50 YTRegions(); 51 52 }; 53 54 #endif // YTREGIONS_H 55