LINUX.ORG.RU

Сообщения irq

 

[WEB] Архитектура баз данных

Никогда особо не увлекался базами данных, а тут приспичило, причем по работе. Надо создать портал для организации с элементами социальных сетей. С первого взгляда спроэктировать БД не трудно, но есть опасение, что могу спороть чушь. Либо медленно, либо не масштабируемо, либо что-то еще. Поэтому хотелось бы спросить у более опытных коллег, чтобы в последствии не наступить на грабли:

1. Есть ли информация, которую бы стоило почитать? (гуглил, не нашел)

2. Если есть какой-то личный опыт или советы - буду рад выслушать =)

 

irq
()

Qt4 проблема с передачей доп. параметров в слот

Есть ГУИ приложение, к которому есть плагины. LoadPlugin добавляет QAction в меню приложения. Необходимо, чтобы по сигналу triggered() на QAction передавался дополнительный параметр в слот, хотя бы QString, либо была возможность узнать, какой QAction послал сигнал. Другими словами надо что-то типа такого:

connect(action, SIGNAL(triggered()), this, SLOT(slotFunc(QString)));

Qt такое не разрешает. Какие есть варианты обхода данного ограничения?

slotFunc не связан с плагином, поэтому поместить код в плагин нельзя.

irq
()

[Qt4] Динамическое подключение дополнительных lib

До текущего дня не приходилось юзать динамическое подключение в Linux. Собственно поэтому прошу местных гуру помочь советом/примером.

Цель есть Qt4 приложение, в котором надо сделать расширяемость, т.е. расширение функциональной части за счет дополнительных библиотек (плагинов). Пусть есть какой-то API. Очень хотелось бы узнать как такое реализуется.

irq
()

Acer Extensa и Intel GMA X3100

Имею ноутбук Acer Extensa 4220, в котором видеокарточка X3100 на 965 чипсете. BIOS показывает 8MB памяти, и не позволяет увеличить штатными средствами.

Собственно вопрос: имеется ли способ увеличить Video RAM? если да, то какие?

irq
()

Владельцам Acer Extensa 4220

Очень интересно: есть ли на ЛОРе среди владельцов этого ноутбука те, кто смог завсети его на все 100%? У кого что работает\не работает, было бы интересно узнать.

irq
()

Acer Extensa 4220

Купил себе такой вот девайс. Собственно говоя настраивать ноут ( в частности WiFi) еще никогда не приходилось. Поэтому решил послушать совета тех, кому уже приходилось настраивать этого зверя, а заодно узнать: какие могуть появиться проблемы в настройке.

irq
()

[по всему] выбор ноута

Срочно нужно купить ноут до 15000 - 17000, на котором можно поднять линукс если не из коробки, то хотя бы с минимальными телодвижениями напильником.
От ноута требуется: обязательно WiFi, и RJ45 и аудио (микрофон и звук). Остальное не обязательно, но крайне желательно.

выбрать необходимо из списка тут: http://www.dns-shop.ru/khb/price.php?c=7000004

С удовольствием высушаю все мнения.

irq
()

[qt4] Размеры виджетов в процентах

Есть несколько виджетов объединенных layout'ами. Layout'ы в свою очередь тоже сгруппированы. Допустим 2 layout'а с QTextEdit сгрупированы вертикально через сплитер.

При создании этого widget'a (dialog'a, etc...) размер обоих QTextEdit'ов равен и состовляет половину свободного пространства.

Как сделать так, чтобы не ограничивая размеров, по умолчанию ширина\высота одного составляла допустим 25%, а второго 75% ?

irq
()

Не обновляется Debian Etch 40r5 до Lenny

Установил себе Debian Etch 4.0-r5 решил сразу обновиться до Lenny.

в source.list было две строки:
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib

заменил на
deb http://security.debian.org/ lenny/updates main contrib
deb-src http://security.debian.org/ lenny/updates main contrib

#aptitude update

обновил только Perl и Python.

#aptitude dist-upgrade

ничего не установил.

комманды #aptitude install mplayer
или установка чего-либо другого не дает результатов - говорит,
"мол не знаю такой пакет"

Что посоветуете делать?

irq
()

[Qt4 + Cpp] Тормоза при отрисовке своего QWidget.

Вопреки ЛОРовской традиции, я все-таки выложу ссылку еа сабж. Буду рад помощи или объяснения причины.

http://qtforum.org.ru/index.php/topic,10.msg27.html

>>>

irq
()

BenQ-Siemens EF81

Собственно интересует вопрос: Есть ли у кого-нибудь такие телефоны и как их собственно можно подключить, ибо автоматом не подключается, приходится патчить ядро /drivers/usb/pl2303.c и заголовок соответсвенно. Даже при этом телефон можно использовать лишь как модем. BREW и OBEX не работают и приходится пользоваться оффтопиком.

Далее интересует вопрос: Кто-нибудь пытался подружить его с линуксом, то есть реально ли вместо прошивки залить в него линукс? На Сименсах, которые на S-Gold микросхеме народ нашел способ. Это же тело на QualComm 200Mhz. На allsiemens.com и siemens-club говорят - что нереально, но лично я не считаю эти ответы авторитетными ввиду обитающего там контингента. Если есть желающие помощь в "мучении" данного телефона - предлогаю объединить усилия.

Moderators: Просьба не удалять/перемещать топик. Он захватывает как хард, так и софт тематики.

>>>

irq
()

С++ потоковый tar.bzip2

Дабы не создавать велосипедов, решил сначала спросить:
как прочитать архив подаваемый через поток в С++ ?
Идея создать IconSet, для замены набора смайлов в клиенте в run-time.

Если в архиве один файл (тар не требуется) - то без проблем, как сжимается, так и разжимается.
А если есть папка с файлами (допустим их немного и размер не большой), т.е. требуется tar, как вытаскивать нужный файл из потока в котором tar-файл (unbunzip2 уже сделан)?

Буду рад услышать любые советы по реализации этого метода или идеи других алгоритмов. Заранее спасибо.

>>>

irq
()

Qt и QTextObjectInterface

Не могу найти в интернете информатцию, о установке обработчиков UserFormatedText в RichText, который устанавливается в QTextEdit

Есть вот такой код:

static const int IconFormatType = QTextFormat::UserObject + 1;

//-------------------------------------------
// TextIconFormat
//-------------------------------------------

class TextIconFormat : public QTextCharFormat
{
public:
	TextIconFormat(const QString &iconName, const QString &text);

	enum Property {
		IconName = QTextFormat::UserProperty + 1,
		IconText = QTextFormat::UserProperty + 2
	};
};

TextIconFormat::TextIconFormat(const QString &iconName, const QString &text) : QTextCharFormat()
{
	Q_UNUSED(text);

	setObjectType(IconFormatType);
	QTextFormat::setProperty(IconName, iconName);
	QTextFormat::setProperty(IconText, text);
}

//------------------------------------------------------
// IconTextObjectInterface
//------------------------------------------------------

class TextIconHandler : public QObject, public QTextObjectInterface
{
	//Q_OBJECT
	Q_INTERFACES(QTextObjectInterface)
public:
	TextIconHandler(QObject *parent = 0);

	virtual QSizeF intrinsicSize(QTextDocument *doc, int posInDocument, const QTextFormat &format);

	virtual void drawObject(QPainter *painter, const QRectF &rect, QTextDocument *doc, int posInDocument, const QTextFormat &format);
};

TextIconHandler::TextIconHandler(QObject *parent) : QObject(parent)
{
}

QSizeF TextIconHandler::intrinsicSize(QTextDocument *doc, int posInDocument, const QTextFormat &format)
{
	Q_UNUSED(doc);
	Q_UNUSED(posInDocument)
	const QTextCharFormat charFormat = format.toCharFormat();

	return IconsetFactory::instance()->iconPixmap(charFormat.stringProperty(TextIconFormat
::IconName)).size();
}

void TextIconHandler::drawObject(QPainter *painter, const QRectF &rect, QTextDocument *doc, int posInDocument, const QTextFormat &format)
{
	qDebug() << "drawObject";
	Q_UNUSED(doc);
	Q_UNUSED(posInDocument);
	const QTextCharFormat charFormat = format.toCharFormat();
	const QPixmap pixmap = IconsetFactory::instance()->iconPixmap(charFormat.stringProperty(TextIconFormat
::IconName));

	painter->drawPixmap(rect, pixmap, pixmap.rect());
}

//------------------------------------------------
// StilRichText
//------------------------------------------------

void StilRichText::install(QTextDocument *doc)
{
	Q_ASSERT(doc);
	static TextIconHandler *handler = 0;
	if (!handler) handler = new TextIconHandler(qApp);
	doc->documentLayout()->registerHandler(IconFormatType, handler);
}

остальная часть кода ИМХО маловажна. Основное назначение - следующее: замена текста на графику, точнее смайлы.
Функция install проходит, обработчик создается, регистрируется.
Но просмотреть дебугером (gdb, ddd) что происходит внутри Qt - не возможно, ибо скомпилино без "debug".
Фунции обработчика drawObject и intrinsicSize не вызываются вообще.
Есть подозрение, что какой-то текст он не считает IconFormatType, тогда как заставить его считать его именно таким?
А может не в этом дело...

Может кто-то сталкивался с подобной проблемой? или знает как решить. Буду благодарен за любую информацию относительно сабжа. Ах, да Qt 4.3

>>>

irq
()

C++ с «умными» указателями и портирование кода.

Доброго времени суток! Не могу найти достаточно внятной информации по так называемых - "умным" указателям, как их окрестил какой-то автор. Но это пол беды. Вторая половина беды - заключается в том, что g++ не компилирует такой код, с "умными" указателями.

main.cpp:
#include "a.h"

int main()
{ return 0; }

a.h:
namespace A {

typedef vector<string> StringList;
typedef StringList::iterator StringIter;
typedef StringList::const_iterator StringIterC;

typedef pair<string, string> StringPair;
typedef vector<StringPair> StringPairList;
typedef StringPairList::iterator StringPairIter;

typedef std::tr1::unordered_map<string, string> StringMap;
typedef StringMap::iterator StringMapIter;

typedef std::tr1::unordered_set<string> StringSet;
typedef StringSet::iterator StringSetIter;

typedef vector<wstring> WStringList;
typedef WStringList::iterator WStringIter;typedef pair<wstring, wstring> WStringPair;
typedef WStringList::const_iterator WStringIterC;
typedef vector<WStringPair> WStringPairList;
typedef WStringPairList::iterator WStringPairIter;
}

Если не трудно - объясните принцип работы таких указателей, и как можно портировать этот кусок кода.

P.S. GCC-4.1.2. Что касается tr1 - ругается, хотя установлена последняя boost.

>>>

irq
()

RSS подписка на новые темы