Merge branch 'foo'

This commit is contained in:
Max-Wilhelm Bruker 2010-06-19 18:20:16 +02:00
commit 9a44413e16
6 changed files with 43 additions and 6 deletions

View file

@ -124,4 +124,5 @@ win32 {
macx {
ICON = resources/appicon.icns
CONFIG += x86 ppc
LIBS += -bind_at_load
}

View file

@ -492,15 +492,19 @@ void CardDatabase::picDownloadChanged()
}
}
bool CardDatabase::loadCardDatabase()
bool CardDatabase::loadCardDatabase(const QString &path)
{
QString cardDatabasePath = settingsCache->getCardDatabasePath();
if (!cardDatabasePath.isEmpty())
loadSuccess = loadFromFile(cardDatabasePath);
if (!path.isEmpty())
loadSuccess = loadFromFile(path);
else loadSuccess = false;
return loadSuccess;
}
bool CardDatabase::loadCardDatabase()
{
return loadCardDatabase(settingsCache->getCardDatabasePath());
}
QStringList CardDatabase::getAllColors() const
{
QSet<QString> colors;

View file

@ -121,9 +121,10 @@ public:
bool getLoadSuccess() const { return loadSuccess; }
public slots:
void clearPixmapCache();
bool loadCardDatabase(const QString &path);
bool loadCardDatabase();
private slots:
void picDownloadFinished(QNetworkReply *reply);
bool loadCardDatabase();
void picDownloadChanged();
};

View file

@ -56,7 +56,18 @@ int main(int argc, char *argv[])
{
// qInstallMsgHandler(myMessageOutput);
QApplication app(argc, argv);
#ifdef Q_OS_MAC
QDir baseDir(app.applicationDirPath());
baseDir.cdUp();
QDir pluginsDir = baseDir;
pluginsDir.cd("PlugIns");
app.addLibraryPath(pluginsDir.absolutePath());
baseDir.cdUp();
baseDir.cdUp();
#endif
#ifdef Q_OS_WIN
app.addLibraryPath(app.applicationDirPath() + "/plugins");
#endif
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QCoreApplication::setOrganizationName("Cockatrice");
@ -83,6 +94,15 @@ int main(int argc, char *argv[])
qsrand(QDateTime::currentDateTime().toTime_t());
bool startMainProgram = true;
#ifdef Q_OS_MAC
if (!db->getLoadSuccess())
if (db->loadCardDatabase(baseDir.absolutePath() + "/cards.xml"))
settingsCache->setCardDatabasePath(baseDir.absolutePath() + "/cards.xml");
if (!QDir(settingsCache->getDeckPath()).exists())
settingsCache->setDeckPath(baseDir.absolutePath() + "/decks");
if (!QDir(settingsCache->getPicsPath()).exists())
settingsCache->setPicsPath(baseDir.absolutePath() + "/pics");
#endif
if (!db->getLoadSuccess() || !QDir(settingsCache->getDeckPath()).exists() || !QDir(settingsCache->getPicsPath()).exists()) {
DlgSettings dlgSettings;
dlgSettings.show();

View file

@ -8,3 +8,8 @@ QT += network svg xml
HEADERS += src/oracleimporter.h src/window_main.h ../cockatrice/src/carddatabase.h ../cockatrice/src/settingscache.h
SOURCES += src/main.cpp src/oracleimporter.cpp src/window_main.cpp ../cockatrice/src/carddatabase.cpp ../cockatrice/src/settingscache.cpp
macx {
CONFIG += x86 ppc
LIBS += -bind_at_load
}

View file

@ -9,7 +9,13 @@ const QString WindowMain::defaultSetsUrl = QString("http://www.cockatrice.de/fil
WindowMain::WindowMain(QWidget *parent)
: QMainWindow(parent)
{
importer = new OracleImporter(qApp->applicationDirPath(), this);
QDir dataDir(qApp->applicationDirPath());
#ifdef Q_OS_MAC
dataDir.cdUp();
dataDir.cdUp();
dataDir.cdUp();
#endif
importer = new OracleImporter(dataDir.absolutePath(), this);
nam = new QNetworkAccessManager(this);
checkBoxLayout = new QVBoxLayout;