OSDN Git Service

Ver0.19
[gefu/Gefu.git] / sortdialog.cpp
1 #include "common.h"\r
2 #include "sortdialog.h"\r
3 #include "ui_sortdialog.h"\r
4 #include <QSettings>\r
5 #include <QDir>\r
6 \r
7 SortDialog::SortDialog(QWidget *parent) :\r
8     QDialog(parent),\r
9     ui(new Ui::SortDialog),\r
10     m_RightOrLeft()\r
11 {\r
12     ui->setupUi(this);\r
13 }\r
14 \r
15 SortDialog::~SortDialog()\r
16 {\r
17     delete ui;\r
18 }\r
19 \r
20 void SortDialog::setRightOrLeft(const QString &s)\r
21 {\r
22     QSettings settings;\r
23 \r
24     m_RightOrLeft = s;\r
25     int sortBy = settings.value(m_RightOrLeft + slash + IniKey_SortBy).toInt();\r
26     if (sortBy == SortByType) {\r
27         ui->sortByType->setChecked(true);\r
28     }\r
29     else if (sortBy == SortBySize) {\r
30         ui->sortBySize->setChecked(true);\r
31     }\r
32     else if (sortBy == SortByDate) {\r
33         ui->sortByDate->setChecked(true);\r
34     }\r
35     else {\r
36         ui->sortByName->setChecked(true);\r
37     }\r
38 \r
39     int orderBy = settings.value(m_RightOrLeft + slash + IniKey_OrderBy).toInt();\r
40     if (orderBy == OrderByDesc) {\r
41         ui->orderDesc->setChecked(true);\r
42     }\r
43     else {\r
44         ui->orderAsc->setChecked(true);\r
45     }\r
46 \r
47     int putDirs = settings.value(m_RightOrLeft + slash + IniKey_PutDirs).toInt();\r
48     if (putDirs == PutDirsDefault) {\r
49         ui->dirsDefault->setChecked(true);\r
50     }\r
51     else if (putDirs == PutDirsLast) {\r
52         ui->dirsLast->setChecked(true);\r
53     }\r
54     else {\r
55         ui->dirsFirst->setChecked(true);\r
56     }\r
57 \r
58     bool ignoreCase = settings.value(m_RightOrLeft + slash + IniKey_IgnoreCase).toBool();\r
59     ui->ignoreCase->setChecked(ignoreCase);\r
60 }\r
61 \r
62 void SortDialog::accept()\r
63 {\r
64     QSettings settings;\r
65 \r
66     QString key = m_RightOrLeft + slash + IniKey_SortBy;\r
67     if (ui->sortByDate->isChecked()) {\r
68         settings.setValue(key, SortByDate);\r
69     }\r
70     else if (ui->sortByName->isChecked()) {\r
71         settings.setValue(key, SortByName);\r
72     }\r
73     else if (ui->sortBySize->isChecked()) {\r
74         settings.setValue(key, SortBySize);\r
75     }\r
76     else {\r
77         settings.setValue(key, SortByType);\r
78     }\r
79 \r
80     key = m_RightOrLeft + slash + IniKey_OrderBy;\r
81     if (ui->orderAsc->isChecked()) {\r
82         settings.setValue(key, OrderByAsc);\r
83     }\r
84     else {\r
85         settings.setValue(key, OrderByDesc);\r
86     }\r
87 \r
88     key = m_RightOrLeft + slash + IniKey_PutDirs;\r
89     if (ui->dirsDefault->isChecked()) {\r
90         settings.setValue(key, PutDirsDefault);\r
91     }\r
92     else if (ui->dirsFirst->isChecked()) {\r
93         settings.setValue(key, PutDirsFirst);\r
94     }\r
95     else {\r
96         settings.setValue(key, PutDirsLast);\r
97     }\r
98 \r
99     key = m_RightOrLeft + slash + IniKey_IgnoreCase;\r
100     settings.setValue(key, ui->ignoreCase->isChecked());\r
101 \r
102     QDialog::accept();\r
103 }\r