actionsQueue.enqueue(Adding);
actionsQueue.enqueue(SettingState);
+ if (notWorking) work();
}
void File::setState(const MyListState &state)
{
m_state = state;
useDefaultState = false;
+ stateSet = false;
}
void File::clearState()
{
m_state = MyListState();
useDefaultState = true;
+ stateSet = false;
}
MyListState File::state() const
{
bool ok;
m_lid = fileReply->value(FileFlag::Lid).toInt(&ok);
-
+#ifdef ANIDBUDPCLIENT_FILE_DEBUG
+qDebug() << "lid = " << m_lid;
+#endif
if (!ok)
m_lid = 0;
}
- if (m_lid && actionsQueue.removeAll(Adding))
- {
- updateStatus(Adding, Success);
- AniDBUdpClient::Client::instance()->cancel(addReply);
- }
-
QString name = fileReply->value(FileAnimeFlag::RomajiName).toString();
if (name.isEmpty())
name = fileReply->value(FileAnimeFlag::EnglishName).toString();
}
m_lid = addReply->lid();
+ stateSet = addReply->stateSet();
updateStatus(Adding, Success);
-
- if ((addReply->replyCode() == MYLIST_ENTRY_ADDED
- || addReply->replyCode() == MYLIST_ENTRY_EDITED)
- && actionsQueue.removeAll(SettingState))
- updateStatus(SettingState, Success);
}
void File::finishMarking(bool success)
updateStatus(SettingState, Failure);
return;
}
+
+ stateSet = addReply->stateSet();
+
updateStatus(SettingState, Finished);
}
return;
}
+ if (stateSet)
+ {
+ updateStatus(SettingState, Finished);
+ return;
+ }
+
MyListAddCommand setStateCommand;
if (m_lid)
setStateCommand = MyListAddCommand(m_lid);
staticInit();
m_lid = 0;
+ stateSet = false;
m_size = 0;