mirror of
https://github.com/vcmi/vcmi.git
synced 2025-07-17 01:32:21 +02:00
Add rumors
This commit is contained in:
@ -20,6 +20,7 @@ set(editor_SRCS
|
|||||||
mapsettings/victoryconditions.cpp
|
mapsettings/victoryconditions.cpp
|
||||||
mapsettings/loseconditions.cpp
|
mapsettings/loseconditions.cpp
|
||||||
mapsettings/eventsettings.cpp
|
mapsettings/eventsettings.cpp
|
||||||
|
mapsettings/rumorsettings.cpp
|
||||||
playersettings.cpp
|
playersettings.cpp
|
||||||
playerparams.cpp
|
playerparams.cpp
|
||||||
scenelayer.cpp
|
scenelayer.cpp
|
||||||
@ -55,6 +56,7 @@ set(editor_HEADERS
|
|||||||
mapsettings/victoryconditions.h
|
mapsettings/victoryconditions.h
|
||||||
mapsettings/loseconditions.h
|
mapsettings/loseconditions.h
|
||||||
mapsettings/eventsettings.h
|
mapsettings/eventsettings.h
|
||||||
|
mapsettings/rumorsettings.h
|
||||||
playersettings.h
|
playersettings.h
|
||||||
playerparams.h
|
playerparams.h
|
||||||
scenelayer.h
|
scenelayer.h
|
||||||
@ -80,6 +82,7 @@ set(editor_FORMS
|
|||||||
mapsettings/victoryconditions.ui
|
mapsettings/victoryconditions.ui
|
||||||
mapsettings/loseconditions.ui
|
mapsettings/loseconditions.ui
|
||||||
mapsettings/eventsettings.ui
|
mapsettings/eventsettings.ui
|
||||||
|
mapsettings/rumorsettings.ui
|
||||||
playersettings.ui
|
playersettings.ui
|
||||||
playerparams.ui
|
playerparams.ui
|
||||||
validator.ui
|
validator.ui
|
||||||
|
@ -107,7 +107,7 @@ void EventSettings::on_timedEventAdd_clicked()
|
|||||||
void EventSettings::on_timedEventRemove_clicked()
|
void EventSettings::on_timedEventRemove_clicked()
|
||||||
{
|
{
|
||||||
if(auto * item = ui->eventsList->currentItem())
|
if(auto * item = ui->eventsList->currentItem())
|
||||||
ui->eventsList->removeItemWidget(item);
|
ui->eventsList->takeItem(ui->eventsList->row(item));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -14,6 +14,18 @@
|
|||||||
<string>Form</string>
|
<string>Form</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||||
<item>
|
<item>
|
||||||
|
@ -14,6 +14,18 @@
|
|||||||
<string>Form</string>
|
<string>Form</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label">
|
<widget class="QLabel" name="label">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -14,6 +14,18 @@
|
|||||||
<string>Form</string>
|
<string>Form</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||||
<property name="leftMargin">
|
<property name="leftMargin">
|
||||||
|
@ -68,6 +68,7 @@ MapSettings::MapSettings(MapController & ctrl, QWidget *parent) :
|
|||||||
ui->victory->initialize(*controller.map());
|
ui->victory->initialize(*controller.map());
|
||||||
ui->lose->initialize(*controller.map());
|
ui->lose->initialize(*controller.map());
|
||||||
ui->events->initialize(*controller.map());
|
ui->events->initialize(*controller.map());
|
||||||
|
ui->rumors->initialize(*controller.map());
|
||||||
}
|
}
|
||||||
|
|
||||||
MapSettings::~MapSettings()
|
MapSettings::~MapSettings()
|
||||||
@ -98,6 +99,7 @@ void MapSettings::on_pushButton_clicked()
|
|||||||
ui->victory->update(*controller.map());
|
ui->victory->update(*controller.map());
|
||||||
ui->lose->update(*controller.map());
|
ui->lose->update(*controller.map());
|
||||||
ui->events->update(*controller.map());
|
ui->events->update(*controller.map());
|
||||||
|
ui->rumors->update(*controller.map());
|
||||||
|
|
||||||
controller.commitChangeWithoutRedraw();
|
controller.commitChangeWithoutRedraw();
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QTabWidget" name="tabWidget">
|
<widget class="QTabWidget" name="tabWidget">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>2</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="tab">
|
<widget class="QWidget" name="tab">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
@ -49,7 +49,7 @@
|
|||||||
<number>12</number>
|
<number>12</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="bottomMargin">
|
<property name="bottomMargin">
|
||||||
<number>12</number>
|
<number>3</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="GeneralSettings" name="general" native="true"/>
|
<widget class="GeneralSettings" name="general" native="true"/>
|
||||||
@ -92,7 +92,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QTabWidget" name="tabWidget_2">
|
<widget class="QTabWidget" name="tabWidget_2">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>2</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="tab_7">
|
<widget class="QWidget" name="tab_7">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
@ -151,6 +151,25 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
<widget class="QWidget" name="tab_11">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>Rumors</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_9">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>12</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>12</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>12</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="RumorSettings" name="rumors" native="true"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
@ -337,6 +356,12 @@
|
|||||||
<header>mapsettings/eventsettings.h</header>
|
<header>mapsettings/eventsettings.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>RumorSettings</class>
|
||||||
|
<extends>QWidget</extends>
|
||||||
|
<header>mapsettings/rumorsettings.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections/>
|
<connections/>
|
||||||
|
@ -14,6 +14,18 @@
|
|||||||
<string>Form</string>
|
<string>Form</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_7">
|
<widget class="QLabel" name="label_7">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
81
mapeditor/mapsettings/rumorsettings.cpp
Normal file
81
mapeditor/mapsettings/rumorsettings.cpp
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
/*
|
||||||
|
* rumorsettings.cpp, part of VCMI engine
|
||||||
|
*
|
||||||
|
* Authors: listed in file AUTHORS in main folder
|
||||||
|
*
|
||||||
|
* License: GNU General Public License v2.0 or later
|
||||||
|
* Full text of license available in license.txt file, in main folder
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#include "StdInc.h"
|
||||||
|
#include "rumorsettings.h"
|
||||||
|
#include "ui_rumorsettings.h"
|
||||||
|
|
||||||
|
RumorSettings::RumorSettings(QWidget *parent) :
|
||||||
|
AbstractSettings(parent),
|
||||||
|
ui(new Ui::RumorSettings)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
RumorSettings::~RumorSettings()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
void RumorSettings::initialize(const CMap & map)
|
||||||
|
{
|
||||||
|
for(auto & rumor : map.rumors)
|
||||||
|
{
|
||||||
|
auto * item = new QListWidgetItem(QString::fromStdString(rumor.name));
|
||||||
|
item->setData(Qt::UserRole, QVariant(QString::fromStdString(rumor.text)));
|
||||||
|
item->setFlags(item->flags() | Qt::ItemIsEditable);
|
||||||
|
ui->rumors->addItem(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void RumorSettings::update(CMap & map)
|
||||||
|
{
|
||||||
|
map.rumors.clear();
|
||||||
|
for(int i = 0; i < ui->rumors->count(); ++i)
|
||||||
|
{
|
||||||
|
Rumor rumor;
|
||||||
|
rumor.name = ui->rumors->item(i)->text().toStdString();
|
||||||
|
rumor.text = ui->rumors->item(i)->data(Qt::UserRole).toString().toStdString();
|
||||||
|
map.rumors.push_back(rumor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void RumorSettings::on_message_textChanged()
|
||||||
|
{
|
||||||
|
if(auto item = ui->rumors->currentItem())
|
||||||
|
item->setData(Qt::UserRole, QVariant(ui->message->toPlainText()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void RumorSettings::on_add_clicked()
|
||||||
|
{
|
||||||
|
auto * item = new QListWidgetItem(tr("New rumor"));
|
||||||
|
item->setData(Qt::UserRole, QVariant(""));
|
||||||
|
item->setFlags(item->flags() | Qt::ItemIsEditable);
|
||||||
|
ui->rumors->addItem(item);
|
||||||
|
emit ui->rumors->itemActivated(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
void RumorSettings::on_remove_clicked()
|
||||||
|
{
|
||||||
|
if(auto item = ui->rumors->currentItem())
|
||||||
|
{
|
||||||
|
ui->message->setPlainText("");
|
||||||
|
ui->rumors->takeItem(ui->rumors->row(item));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void RumorSettings::on_rumors_itemSelectionChanged()
|
||||||
|
{
|
||||||
|
if(auto item = ui->rumors->currentItem())
|
||||||
|
ui->message->setPlainText(item->data(Qt::UserRole).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
43
mapeditor/mapsettings/rumorsettings.h
Normal file
43
mapeditor/mapsettings/rumorsettings.h
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
* rumorsettings.h, part of VCMI engine
|
||||||
|
*
|
||||||
|
* Authors: listed in file AUTHORS in main folder
|
||||||
|
*
|
||||||
|
* License: GNU General Public License v2.0 or later
|
||||||
|
* Full text of license available in license.txt file, in main folder
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#ifndef RUMORSETTINGS_H
|
||||||
|
#define RUMORSETTINGS_H
|
||||||
|
|
||||||
|
#include "abstractsettings.h"
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class RumorSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
class RumorSettings : public AbstractSettings
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit RumorSettings(QWidget *parent = nullptr);
|
||||||
|
~RumorSettings();
|
||||||
|
|
||||||
|
void initialize(const CMap & map) override;
|
||||||
|
void update(CMap & map) override;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void on_message_textChanged();
|
||||||
|
|
||||||
|
void on_add_clicked();
|
||||||
|
|
||||||
|
void on_remove_clicked();
|
||||||
|
|
||||||
|
void on_rumors_itemSelectionChanged();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::RumorSettings *ui;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // RUMORSETTINGS_H
|
105
mapeditor/mapsettings/rumorsettings.ui
Normal file
105
mapeditor/mapsettings/rumorsettings.ui
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>RumorSettings</class>
|
||||||
|
<widget class="QWidget" name="RumorSettings">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>538</width>
|
||||||
|
<height>470</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Tavern rumors</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="add">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>90</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Add</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="remove">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>90</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Remove</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QListWidget" name="rumors">
|
||||||
|
<property name="editTriggers">
|
||||||
|
<set>QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed</set>
|
||||||
|
</property>
|
||||||
|
<property name="selectionBehavior">
|
||||||
|
<enum>QAbstractItemView::SelectRows</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPlainTextEdit" name="message"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
@ -14,6 +14,18 @@
|
|||||||
<string>Form</string>
|
<string>Form</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
<property name="rightMargin">
|
<property name="rightMargin">
|
||||||
|
Reference in New Issue
Block a user