2 #include "mainwindow.h"
\r
4 #include <QApplication>
\r
8 int main(int argc, char *argv[])
\r
10 QApplication a(argc, argv);
\r
11 a.setOrganizationName("miyabi");
\r
12 a.setOrganizationDomain("rakusaba.jp");
\r
13 a.setApplicationName("Gefu");
\r
14 #if defined(Q_OS_MAC) || defined(Q_OS_MAC64) || defined(Q_OS_MACX)
\r
15 a.setWindowIcon(QIcon(":/images/Gefu.icns"));
\r
17 a.setWindowIcon(QIcon(":/images/Gefu.png"));
\r
20 QSettings::setDefaultFormat(QSettings::IniFormat);
\r
22 if (settings.value(IniKey_ResetOnBoot, false).toBool()) {
\r
27 QString strValue = settings.value("TerminalOption", "").toString();
\r
28 if (!strValue.isEmpty()) {
\r
29 settings.remove("TerminalOption");
\r
30 settings.setValue(IniKey_TerminalOption, strValue);
\r
33 // 各オプションのデフォルト値を設定する
\r
35 if (settings.value(IniKey_ConfirmExit, "").toString().isEmpty()) {
\r
36 settings.setValue(IniKey_ConfirmExit, true);
\r
37 settings.setValue(IniKey_BootSizeSpec, "sizeRelative");
\r
38 settings.setValue(IniKey_BootSizeAbs, QSize(800,600));
\r
39 settings.setValue(IniKey_BootSizeRel, QSize(75,75));
\r
40 settings.setValue(IniKey_BootPosSpec, "posCenter");
\r
41 settings.setValue(IniKey_BootPosAbs, QPoint(0, 0));
\r
42 settings.setValue(IniKey_BootPosRel, QPoint(0, 0));
\r
45 if (settings.value(IniKey_BoxFont, "").toString().isEmpty()) {
\r
46 settings.setValue(IniKey_BoxFont, a.font());
\r
47 settings.setValue(IniKey_BoxColorBg, QPalette().base().color());
\r
48 settings.setValue(IniKey_BoxColorFg, QPalette().text().color());
\r
50 if (settings.value(IniKey_ViewFont, "").toString().isEmpty()) {
\r
51 settings.setValue(IniKey_ViewFont, a.font());
\r
52 settings.setValue(IniKey_ViewColorBgMark, QColor(0,192,0));
\r
53 settings.setValue(IniKey_ViewColorBgNormal, QPalette().base().color());
\r
54 settings.setValue(IniKey_ViewColorFgHidden, QColor(128,128,128));
\r
55 settings.setValue(IniKey_ViewColorFgMark, QColor(128,0,0));
\r
56 settings.setValue(IniKey_ViewColorFgNormal, QPalette().text().color());
\r
57 settings.setValue(IniKey_ViewColorFgReadonly, QColor(0,128,0));
\r
58 settings.setValue(IniKey_ViewColorFgSystem, QColor(128,0,128));
\r
61 if (settings.value(IniKey_AutoCloseCopy, "").toString().isEmpty()) {
\r
62 settings.setValue(IniKey_AutoCloseCopy, false);
\r
63 settings.setValue(IniKey_AutoCloseDelete, false);
\r
64 settings.setValue(IniKey_AutoCloseMove, false);
\r
65 settings.setValue(IniKey_AutoCloseRename, false);
\r
67 if (settings.value(IniKey_ConfirmCopy, "").toString().isEmpty()) {
\r
68 settings.setValue(IniKey_ConfirmCopy, true);
\r
69 settings.setValue(IniKey_ConfirmDelete, true);
\r
70 settings.setValue(IniKey_ConfirmMove, true);
\r
71 settings.setValue(IniKey_ConfirmRename, true);
\r
73 if (settings.value(IniKey_DefaultOnCopy, "").toString().isEmpty())
\r
74 settings.setValue(IniKey_DefaultOnCopy, "owDefIfNew");
\r
75 if (settings.value(IniKey_MoveAfterCreateFolder, "").toString().isEmpty())
\r
76 settings.setValue(IniKey_MoveAfterCreateFolder, false);
\r
77 if (settings.value(IniKey_OpenAfterCreateFile, "").toString().isEmpty())
\r
78 settings.setValue(IniKey_OpenAfterCreateFile, false);
\r
80 if (settings.value(IniKey_EditorPath, "").toString().isEmpty()) {
\r
81 #if defined(Q_OS_WIN)
\r
82 settings.setValue(IniKey_EditorPath, "notepad.exe");
\r
83 #elif defined(Q_OS_MAC)
\r
84 settings.setValue(IniKey_EditorPath, "/Applications/TextEdit.app");
\r
86 settings.setValue(IniKey_EditorPath, "gedit");
\r
88 settings.setValue(IniKey_EditorOption, QQ("$P"));
\r
90 if (settings.value(IniKey_TerminalPath, "").toString().isEmpty()) {
\r
91 #if defined(Q_OS_WIN)
\r
92 settings.setValue(IniKey_TerminalPath, "cmd.exe");
\r
93 settings.setValue(IniKey_TerminalOption, "/k cd " + QQ("$D"));
\r
94 #elif defined(Q_OS_MAC)
\r
95 settings.setValue(IniKey_TerminalPath, "/Applications/Utilities/Terminal.app");
\r
96 settings.setValue(IniKey_TerminalOption, "-c cd " + QQ("$D"));
\r
98 settings.setValue(IniKey_TerminalPath, "gnome-terminal");
\r
99 settings.setValue(IniKey_TerminalOption, "-c cd " + QQ("$D"));
\r
103 if (settings.value(IniKey_ViewerFont, "").toString().isEmpty()) {
\r
104 settings.setValue(IniKey_ViewerColorBg, QPalette().base().color());
\r
105 settings.setValue(IniKey_ViewerColorFg, QPalette().text().color());
\r
106 settings.setValue(IniKey_ViewerFont, a.font());
\r
107 settings.setValue(IniKey_ViewerForceOpen, false);
\r
108 settings.setValue(IniKey_ViewerInherit, true);
\r
109 settings.setValue(IniKey_ViewerIgnoreExt, ViewerIgnoreExt());
\r
113 if (settings.value(IniKey_ShowHidden, "").toString().isEmpty())
\r
114 settings.setValue(IniKey_ShowHidden, false);
\r
115 //>>>>> システムファイルの表示
\r
116 if (settings.value(IniKey_ShowSystem, "").toString().isEmpty())
\r
117 settings.setValue(IniKey_ShowSystem, false);
\r
119 if (settings.value(IniKey_CheckUpdates, "").toString().isEmpty())
\r
120 settings.setValue(IniKey_CheckUpdates, true);
\r
121 //>>>>> 最後のフォルダとソート方法
\r
122 QString side = "Left/";
\r
123 if (settings.value(side + IniKey_Dir, "").toString().isEmpty()) {
\r
124 settings.setValue(side + IniKey_Dir, QDir::homePath());
\r
125 settings.setValue(side + IniKey_SortBy, SortByName);
\r
126 settings.setValue(side + IniKey_OrderBy, OrderByAsc);
\r
127 settings.setValue(side + IniKey_PutDirs, PutDirsFirst);
\r
128 settings.setValue(side + IniKey_IgnoreCase, true);
\r
131 if (settings.value(side + IniKey_Dir, "").toString().isEmpty()) {
\r
132 settings.setValue(side + IniKey_Dir, QDir::homePath());
\r
133 settings.setValue(side + IniKey_SortBy, SortByName);
\r
134 settings.setValue(side + IniKey_OrderBy, OrderByAsc);
\r
135 settings.setValue(side + IniKey_PutDirs, PutDirsFirst);
\r
136 settings.setValue(side + IniKey_IgnoreCase, true);
\r
145 QString ViewerIgnoreExt()
\r
149 list << "gif" << "jpg" << "jpeg" << "png" << "bmp" << "ico" << "ai";
\r
150 list << "psd" << "xcf" << "tif" << "tiff" << "wmf";
\r
152 list << "wav" << "mp3" << "ogg" << "midi" << "mid" << "aif" << "aiff";
\r
153 list << "mov" << "mpg" << "mpeg" << "wma" << "wmv" << "asf" << "avi";
\r
154 list << "flac" << "mkv";
\r
156 list << "exe" << "com" << "lib" << "dll" << "msi" << "scr" << "sys";
\r
157 list << "o" << "obj" << "ocx" << "a" << "so" << "app";
\r
159 list << "lzh" << "zip" << "cab" << "tar" << "rar" << "gz" << "tgz";
\r
160 list << "bz2" << "xz" << "jar" << "7z";
\r
162 list << "pdf" << "doc" << "docx" << "xls" << "xlsx" << "ppt" << "pptx";
\r
164 list << "ttf" << "ttc";
\r
168 return list.join(",");
\r