Добавь метку счётчик для отображения количества фотографий с папки: "аватарки".

Напиши полный код!

---

Добавь лимит с полем: "Лимит токенов", при достижении успешных публикаций, которые указаны в этом поле, чтобы менялся ip на устройстве с помощью сценария по adb.

Пиши код полностью

---

1. Добавь кнопку 'Обновить Wi-Fi' для сканирования сетей и комбобокс 'Выбрать Wi-Fi' для выбора сети с проверкой на совпадение с текущей. 

2. В комбобоксе должен быть текущий wi-fi, если нет текущего, чтобы программа делала приостановку и не запускалась до тех пор, пока wi-fi не подключится.

Полный код

---

Сделай другой стиль интерфейса программы, более острый, прямоугольный, компактный но понятный.

Полный код, чтобы я мог просто вставить его в файл

---

Что делает кнопка: "Обновить wifi" и поле: "Выбрать wi-fi", простыми словами, когда делает приостановку, когда запускается, коротко и ясно

---

Вместо кнопки: "Остановить", сделай кнопку: "Приостановить" и "Восстановить".
Когда "Приостановить" нажата, чтоб кнопка: "Восстановить" была активна и тд...

---

1. Что делает кнопка: "Обновить wifi", и поле: "Выбрать wi-fi"
2. Что делает кнопка: "Сканировать устройство" и поле с выпадающими списками для устройств

---

Добавь весь этот функционал в этот код.
Пиши код полностью программы
---

1. Добавь кнопку 'Обновить Wi-Fi' для сканирования сетей и комбобокс 'Выбрать Wi-Fi' для выбора сети с проверкой на совпадение с текущей. 

2. В комбобоксе должен быть текущий wi-fi, если нет текущего, чтобы программа делала приостановку и не запускалась до тех пор, пока wi-fi не подключится.

Полный код, чтобы я мог просто вставить его в файл

---

Добавь кнопки: "Приостановить" и "Восстановить".

Полный код

---

1. Если wi-fi подключён не к тому wi-fi, который выбран в списке "Выбрать WI_FI", чтобы кнопка запуска была отключена и при процессе приостанавливалась пока не подключится к актуальному wi-fi.
2. Чтобы в реальном времени проверяла текущий wi-fi

---

Сделай отдельные потоки, чтобы работал более стабильно.
Чтоб ip менялся только после обновления счётчика.

Полный код

---

Программа каждый раз не загружает последнюю аватарку, почему так происходит

---

При нажатии на кнопку: "Остановить", чтобы прога сразу останавливалась.

Полный код

---

Расскажи про "Сканировать устройство", "Обновить WI-FI", "Выбрать Wi-Fi", "Подключиться", "Лимит токенов". 
Мне нужен промпт для добавления их в другую программу

---

Добавь весь этот функционал в этот код.
Пиши код полностью программы для автопостинга с изменениями.

---

1. Убери кнопку "Сменить IP на выбранном устройстве"
2. Добавь лимит с полем: "Лимит токенов", при достижении успешных загрузок постов, которые указаны в этом поле, чтобы менялся ip на устройстве с помощью сценария по adb.

Полный код

---

1. Чтоб сперва обновлялся счётчик об успешной публикации, и только потом менялся ip

2. Добавь кнопку 'Обновить Wi-Fi' для сканирования сетей и комбобокс 'Выбрать Wi-Fi' для выбора сети с проверкой на совпадение с текущей. 

3. В комбобоксе должен быть текущий wi-fi, если нет текущего, чтобы программа делала приостановку и не запускалась до тех пор, пока wi-fi не подключится.

Полный код, чтобы я мог просто вставить его в файл

---

Сделай другой стиль интерфейса программы, более острый, прямоугольный, компактный но понятный.

Полный код, чтобы я мог просто вставить его в файл

---

Добавь кнопку для смены ip для программы загрузки аватарок.
Полный код

---

1. Добавь метку с полем, чтобы при достижении этого лимита чтобы менял ip.
2. После смены, чтобы ждал подключения к сети.

---

Чтоб последнее значение с поля для лимита аватарок перед сменой ip сохранялся в реальном времени

---

1. Перенос логики смены IP за пределы цикла: Теперь задачи группируются в батчи по размеру ip_change_limit. Каждый батч обрабатывается полностью, затем (если нужно) происходит смена IP, и только после этого запускается следующий батч. Это предотвращает прерывание активных потоков.

2. Пауза и перезапуск executor: Перед сменой IP executor завершается (shutdown(wait=False)), а после восстановления сети создаётся новый для оставшихся задач.

3. Обработка сетевых ошибок: В post_to_account добавлены try-except для requests.ConnectionError и requests.Timeout с retry-механизмом (увеличенная задержка). Это позволяет повторять запросы при временных сбоях сети.

4. Улучшенная обработка ошибок и логов: Добавлены дополнительные логи для отслеживания состояния потоков. Retry-механизм теперь учитывает сетевые ошибки. Если сеть не восстанавливается, процесс продолжается без смены IP.

5. Другие улучшения:
Увеличены таймауты в запросах (timeout=10).
В wait_for_network_connection добавлена проверка на успешное восстановление.
Тестирование: Код теперь может работать с max_workers=1 для отладки (можно раскомментировать).
Обновлена логика перемещения файлов: Только после успешных публикаций.
Специфическое требование пользователя: Убрана метка "Потоков" и связанное с ней поле (spinbox для количества потоков). Теперь количество потоков фиксировано на 10, без UI-элемента для изменения. Это упрощает интерфейс, как запрошено.

---

Убери метку с полем "Потоков".
