nataraj: (Default)
[personal profile] nataraj
А как через дефайны правильно передать в C++ код список строк. Это вообще возможно?

(А то тут я выяснил что у Sim-IM'а имена дефолтных иконсетов прямо в код вшиты, а это не хорошо...

Date: 2011-02-21 09:19 pm (UTC)
ext_605364: geg MOPO4 (Default)
From: [identity profile] gegmopo4.livejournal.com
В смысле?

Date: 2011-02-21 09:25 pm (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
Ну.... Если писать на фантастическом языке, то:

#define SIM_ICONSETS "CrystalClear","Oxygen","CrystalCrearSmiles" // Это в файле настроечных дефайнов

....


foreach char* s in (SIM_ICONSETS)
{
add_iconset("icons/".s."jisp");
}

Date: 2011-02-22 08:15 am (UTC)
ext_605364: geg MOPO4 (Default)
From: [identity profile] gegmopo4.livejournal.com

static char const * const sim_iconsets[] = { SIM_ICONSETS };

for(int i = 0; i < sizeof(sim_iconsets) / sizeof(sim_iconsets[0]); ++i)
{
    add_iconset(QString("icons/%1jisp").arg(sim_iconsets[i]));
}


Но я категорически не рекомендую так делать. Лучше список читать из стандартного конфигурационного файле.

Date: 2011-02-22 08:29 am (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
Там в конфигурационном файле список есть...
Это как раз поведение на тот случай если с конфигом что-то не задалось...

Date: 2011-02-22 09:00 am (UTC)
ext_605364: geg MOPO4 (Default)
From: [identity profile] gegmopo4.livejournal.com
Для этого делают многоуровневую систему конфигов.

1. Конфиг (точнее умолчальные данные), идущий вместе с программой -- /usr/share/. Если с ним не задалось, то вероятно не задалось и с ресурсами-смайлами, и с бинарником.
2. Общесистемный конфиг, создаваемый инсталлятором -- /etc/.
3. Пользовательский конфиг -- ~/.

В крайнем случае захардкодить достаточно одну тему (она же по умолчанию).

Date: 2011-02-22 08:31 am (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
За ответ -- спасибо... Буду над ним думать...

Скажи, а так вообще хоть кто-нибудь делает, или это извращение недопустимое в приличном обществе?

Date: 2011-02-21 09:31 pm (UTC)
From: [identity profile] aceler.ru (from livejournal.com)
А SIM-IM же на Qt писан. Нельзя просто в Qt-шный конфиг положить?

Date: 2011-02-22 06:54 am (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
Хм... У нас все cmake'ом собирается, я qt-шного конфига не видел, честно говоря... Кроме того та версия которую я допиливаю -- еще qt3. Там этого конфига может просто не быть...

Profile

nataraj: (Default)
Swami Dhyan Nataraj

July 2024

S M T W T F S
 123456
789 10111213
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 12th, 2026 08:02 pm
Powered by Dreamwidth Studios