1. C++ / Говнокод #17206

    +51

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    QDir startupFolder = QDir(AppSettings->value("SoftStartupFolder").toString());
    if (!startupFolder.isAbsolute())
    {
        startupFolder.setPath(QCoreApplication::applicationDirPath()+QDir::separator()+AppSettings->value("SoftStartupFolder").toString());
        startupFolder = QDir(startupFolder.absolutePath());
    }

    а иначе дальше файлы будут честно искаться в папке с названиями из точки или двух, а относительные пути браться от чего угодно кроме текущей папки или папки с прогой.

    Запостил: kin63camapa, 28 Ноября 2014

    Комментарии (2) RSS

    • Не помешает обернуть ручное конструирование путей в QDir::cleanPath(), особенно взятых из всяких конфигов
      Ответить
      • Да я то оберну а если нужно будет и на api самой os все пути сделаю просто дока нам какбе обещает что setPath несколько умнее чем на самом деле: Sets the path of the directory to path. The path is cleaned of redundant ".", ".." and of multiple separators. Там же написано что класс спокойно кушает относительные пути.
        Ответить

    Добавить комментарий