added page transition effects
- added functionality for buttons on PageSettingsServerData page
This commit is contained in:
parent
1e180489a4
commit
de0cd976de
38 changed files with 656 additions and 335 deletions
|
@ -86,6 +86,7 @@ void ContainersModel::setCurrentlyProcessedServerIndex(int index)
|
|||
beginResetModel();
|
||||
m_currentlyProcessedServerIndex = index;
|
||||
endResetModel();
|
||||
emit defaultContainerChanged();
|
||||
}
|
||||
|
||||
void ContainersModel::setCurrentlyInstalledContainerIndex(int index)
|
||||
|
@ -115,7 +116,7 @@ void ContainersModel::removeAllContainers()
|
|||
auto errorCode = serverController.removeAllContainers(m_settings->serverCredentials(m_currentlyProcessedServerIndex));
|
||||
|
||||
if (errorCode == ErrorCode::NoError) {
|
||||
beginResetModel();
|
||||
beginResetModel();
|
||||
m_settings->setContainers(m_currentlyProcessedServerIndex, {});
|
||||
m_settings->setDefaultContainer(m_currentlyProcessedServerIndex, DockerContainer::None);
|
||||
endResetModel();
|
||||
|
@ -124,6 +125,14 @@ void ContainersModel::removeAllContainers()
|
|||
//todo process errors
|
||||
}
|
||||
|
||||
void ContainersModel::clearCachedProfiles()
|
||||
{
|
||||
const auto &containers = m_settings->containers(m_currentlyProcessedServerIndex);
|
||||
for (DockerContainer container : containers.keys()) {
|
||||
m_settings->clearLastConnectionConfig(m_currentlyProcessedServerIndex, container);
|
||||
}
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> ContainersModel::roleNames() const {
|
||||
QHash<int, QByteArray> roles;
|
||||
roles[NameRole] = "name";
|
||||
|
|
|
@ -49,6 +49,7 @@ public slots:
|
|||
int getCurrentlyInstalledContainerIndex();
|
||||
|
||||
void removeAllContainers();
|
||||
void clearCachedProfiles();
|
||||
|
||||
protected:
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
|
|
|
@ -17,15 +17,14 @@ bool ServersModel::setData(const QModelIndex &index, const QVariant &value, int
|
|||
|| index.row() >= static_cast<int>(m_settings->serversCount())) {
|
||||
return false;
|
||||
}
|
||||
// if (role == DescRole) {
|
||||
// return m_data[index.row()].desc;
|
||||
// }
|
||||
// if (role == AddressRole) {
|
||||
// return m_data[index.row()].address;
|
||||
// }
|
||||
// if (role == IsDefaultRole) {
|
||||
// return m_data[index.row()].isDefault;
|
||||
// }
|
||||
|
||||
switch (role) {
|
||||
case IsDefaultRole: m_settings->setDefaultServer(index.row());
|
||||
default: return true;
|
||||
}
|
||||
|
||||
emit dataChanged(index, index);
|
||||
return true;
|
||||
}
|
||||
|
||||
QVariant ServersModel::data(const QModelIndex &index, int role) const
|
||||
|
@ -58,14 +57,6 @@ QVariant ServersModel::data(const QModelIndex &index, int role) const
|
|||
return QVariant();
|
||||
}
|
||||
|
||||
//todo mode to setData?
|
||||
void ServersModel::setDefaultServerIndex(int index)
|
||||
{
|
||||
// beginResetModel();
|
||||
m_settings->setDefaultServer(index);
|
||||
// endResetModel();
|
||||
}
|
||||
|
||||
const int ServersModel::getDefaultServerIndex()
|
||||
{
|
||||
return m_settings->defaultServerIndex();
|
||||
|
@ -81,14 +72,38 @@ void ServersModel::setCurrentlyProcessedServerIndex(int index)
|
|||
m_currenlyProcessedServerIndex = index;
|
||||
}
|
||||
|
||||
bool ServersModel::isDefaultServerCurrentlyProcessed()
|
||||
{
|
||||
return m_settings->defaultServerIndex() == m_currenlyProcessedServerIndex;
|
||||
}
|
||||
|
||||
ServerCredentials ServersModel::getCurrentlyProcessedServerCredentials()
|
||||
{
|
||||
return qvariant_cast<ServerCredentials>(data(index(m_currenlyProcessedServerIndex), CredentialsRole));
|
||||
}
|
||||
|
||||
void ServersModel::addServer()
|
||||
void ServersModel::addServer(const QJsonObject &server)
|
||||
{
|
||||
beginResetModel();
|
||||
m_settings->addServer(server);
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
void ServersModel::removeServer()
|
||||
{
|
||||
beginResetModel();
|
||||
m_settings->removeServer(m_currenlyProcessedServerIndex);
|
||||
|
||||
if (m_settings->defaultServerIndex() == m_currenlyProcessedServerIndex) {
|
||||
m_settings->setDefaultServer(0);
|
||||
} else if (m_settings->defaultServerIndex() > m_currenlyProcessedServerIndex) {
|
||||
m_settings->setDefaultServer(m_settings->defaultServerIndex() - 1);
|
||||
}
|
||||
|
||||
if (m_settings->serversCount() == 0) {
|
||||
m_settings->setDefaultServer(-1);
|
||||
}
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> ServersModel::roleNames() const {
|
||||
|
|
|
@ -31,15 +31,16 @@ public:
|
|||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||
|
||||
public slots:
|
||||
void setDefaultServerIndex(int index);
|
||||
const int getDefaultServerIndex();
|
||||
bool isDefaultServerCurrentlyProcessed();
|
||||
|
||||
const int getServersCount();
|
||||
|
||||
void setCurrentlyProcessedServerIndex(int index);
|
||||
ServerCredentials getCurrentlyProcessedServerCredentials();
|
||||
|
||||
void addServer();
|
||||
void addServer(const QJsonObject &server);
|
||||
void removeServer();
|
||||
|
||||
protected:
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue